Python में Merge Sort
Data को recursively बाँटकर sorted हिस्सों को merge किया जाता है।
में Merge Sort क्या है?
Data को recursively बाँटकर sorted हिस्सों को merge किया जाता है।
Divide-and-conquer से data sort करें।
इसका उपयोग कब करें?
- Algorithms और data structures की कार्यप्रणाली समझें।
- हर चरण देखें और edge cases जाँचें।
- समय और memory की जटिलता की तुलना करें।
Python में Merge Sort Visualizer
O(n log n)हर comparison और data movement देखने के लिए चलाएँ या अगला चरण दबाएँ।
उदाहरण कोड
main.py
def merge_sort(values):
if len(values) <= 1:
return values
middle = len(values) // 2
left = merge_sort(values[:middle])
right = merge_sort(values[middle:])
result = []
left_index = right_index = 0
while left_index < len(left) and right_index < len(right):
if left[left_index] <= right[right_index]:
result.append(left[left_index])
left_index += 1
else:
result.append(right[right_index])
right_index += 1
return result + left[left_index:] + right[right_index:]
print(merge_sort([38, 27, 43, 3, 9, 82, 10]))
अपेक्षित आउटपुट
[3, 9, 10, 27, 38, 43, 82]
यह कैसे काम करता है
यह O(n log n) समय सुनिश्चित करता है और O(n) अतिरिक्त memory उपयोग करता है।
मान बदलें और Python इंस्टॉल किए बिना CodeUtility ऑनलाइन Python कंपाइलर में प्रोग्राम चलाएँ।
अभ्यास के कार्य
बड़े dataset पर जाने से पहले input बदलें और edge cases की जाँच करें।
- खाली input, एक element और duplicate values जाँचें।
- हर चरण के बाद state दिखाएँ।
- Performance को दूसरे solution से तुलना करें।