Sobes.tech
Junior — Middle

როგორ ხორციელდება და ფუნქციონირებს მონაცემთა ძირითადი სორტირების ალგორითმები?

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]))

ყოველი ალგორითმი აქვს თავისი უპირატესობები და ნაკლოვანებები სიჩქარის და მეხსიერების მოხმარების თვალსაზრისით.