როგორ ხორციელდება და ფუნქციონირებს მონაცემთა ძირითადი სორტირების ალგორითმები?
sobes.tech AI
პასუხი AI-სგან
მონაცემების სორტირების ძირითადი ალგორითმები მოიცავს:
-
ბუშტის სორტირება (Bubble Sort): შედარებს მეზობელ ელემენტებს და შეცვლის მათ ადგილს, თუ ისინი არასწორ წესშია. განმეორებით ხდება, სანამ მასივი არ იქნება სორტირებული.
-
შეყვანის სორტირება (Insertion Sort): აშენებს სორტირებულ სერიას, ყოველი ახალი ელემენტის სწორ ადგილას ჩასმით.
-
შერჩევის სორტირება (Selection Sort): ყოველი ნაბიჯით, არასწორად სორტირებულ ნაწილში, ირჩევს მინიმალურ ელემენტს და აძლიერებს მას ამ ნაწილში პირველ ელემენტთან.
-
სწრაფი სორტირება (Quick Sort): ირჩევს პივოტ ელემენტს, ნაწილებს აყოფს მასზე ნაკლებ და მეტ ელემენტებზე და ამ ნაწილებს რეკურსიულად სორტავს.
-
შერწყმის სორტირება (Merge Sort): რეკურსიულად ნაწილებს აყოფს ნახევრებად, სორტავს და ისევ აერთიანებს სორტირებულ მასივად.
Python-ში სწრაფი სორტირების მაგალითი:
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
print(quick_sort([3,6,8,10,1,2,1]))
ყოველი ალგორითმი აქვს თავისი უპირატესობები და ნაკლოვანებები სიჩქარის და მეხსიერების მოხმარების თვალსაზრისით.