यदि मैं समस्या को सही ढंग से समझता हूं (और मैं नहीं कर सकता, तो मुझे यह बताने के लिए स्वतंत्र महसूस करें कि क्या मैं नहीं) आप 2 डी ग्रिड को एक क्रमबद्ध 1 डी सरणी में बदलना चाहते हैं, जबकि प्रत्येक पंक्ति और स्तंभ पहले से ही 2 डी ग्रिड में क्रमबद्ध हैं?
इस मामले में सूची में पहला तत्व शीर्ष-बाएं कोने ((0,0), समस्या की परिभाषा से) होना चाहिए। इसके बाद इसे या तो (1,0) या (0,1) तत्व होना चाहिए, क्योंकि सभी अन्य परिभाषा के अनुसार इनसे बड़े होंगे।
आप यह कहकर सामान्य कर सकते हैं कि ग्रिड में अगला सबसे छोटा तत्व हमेशा पहले से उपयोग किए जाने वाले तत्व (या ग्रिड के किनारे) से सीधे नीचे है, और पहले से ही उपयोग किए गए एक तत्व (या ग्रिड के किनारे) के दाईं ओर, दोनों ही हैं इससे छोटा होना परिभाषित किया गया है। इसलिए प्रत्येक पुनरावृत्ति पर आपको केवल इस आवश्यकता को पूरा करने वाले सबसे छोटे मूल्य पर विचार करना चाहिए।
आप संभावित उम्मीदवारों को क्रमबद्ध क्रम में रख सकते हैं क्योंकि आप उन्हें ढूंढते हैं (दो से अधिक कभी भी एक पुनरावृत्ति में उपलब्ध नहीं किए जाएंगे), और प्रत्येक पुनरावृत्ति पर उपलब्ध नए मानों की जांच करें (यदि कोई हो)। यदि वे पिछले उम्मीदवारों की तुलना में सबसे कम हैं, तो उन्हें सीधे सूची में जोड़ें और दोहराएं, अन्यथा सबसे कम पिछले उम्मीदवार को जोड़ें और अगले अंक आदि की तुलना करें।
दुर्भाग्य से, मैं इस बात की सटीक जटिलता प्रदान करने में सक्षम होने का दावा नहीं करता, न ही यह दावा करता हूं कि यह सबसे अधिक संभव है, यह निश्चित रूप से एक भोले दृष्टिकोण से बेहतर लगता है, और मुझे आशा है कि मैंने इसे समझने के लिए आपको अच्छी तरह समझाया।
EDIT: इस तरह nd ग्रिड के लिए मेरा मानना है कि एक ही मूल सिद्धांत लागू होता है, लेकिन प्रत्येक पुनरावृत्ति n नए उम्मीदवारों को उपलब्ध कराती है, और इन उम्मीदवारों को इस बिंदु पर प्रत्येक n आयामों में सबसे छोटे अप्रयुक्त तत्व होने चाहिए।