इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे। या पहले।
एल्गोरिदम
-
प्रत्येक पुनरावृत्ति पर क्रमबद्ध सरणी को बढ़ाकर इनपुट तत्वों पर पुनरावृति करें।
-
सॉर्ट किए गए सरणी में उपलब्ध सबसे बड़े मान के साथ वर्तमान तत्व की तुलना करें।
-
यदि वर्तमान तत्व अधिक है, तो यह तत्व को उसके स्थान पर छोड़ देता है और अगले तत्व पर चला जाता है अन्यथा वह क्रमबद्ध सरणी में अपनी सही स्थिति पाता है और उसे सरणी में उस स्थिति में ले जाता है।
-
यह सभी तत्वों को दाईं ओर स्थानांतरित करके प्राप्त किया जाता है, जो वर्तमान तत्व से बड़े होते हैं, क्रमबद्ध सरणी में एक स्थिति आगे।
आइए अब एल्गोरिथम का दृश्य प्रतिनिधित्व देखें
आइए अब कार्यान्वयन देखें
उदाहरण
def insertionSort(arr): for i in range(1, len(arr)): key = arr[i] # Move elements of arr[0..i-1], that are greater than key, # to one position ahead of their current position j = i-1 while j >=0 and key < arr[j] : arr[j+1] = arr[j] j -= 1 arr[j+1] = key # main arr = ['t','u','t','o','r','i','a','l'] insertionSort(arr) print ("The sorted array is:") for i in range(len(arr)): print (arr[i])
आउटपुट
The sorted array is: a i l o r t t u
समय की जटिलता: ओ(एन*2)
सहायक स्थान: ओ(1)
सभी चर वैश्विक फ्रेम में घोषित किए गए हैं जैसा कि नीचे दिए गए चित्र में दिखाया गया है -
निष्कर्ष
इस लेख में, हमने पायथन 3.x में इंसर्शन सॉर्ट और इसके कार्यान्वयन के बारे में सीखा। या इससे पहले।