Въведение в сортирането на Heap в Python

Всеки от езиците за програмиране предоставя различни функции благодарение на предварително зададени функции. Чрез използване на предварително зададените методи и функции, предлагани от езика за програмиране, човек може да разработи сложно приложение. Когато говорим за трансформиране на стойностите на списъка в сортирана форма, подходът се нарича сортиране. Въпреки че изходът от сортирането е един и същ, независимо от подхода за сортиране, най-добрият подход гарантира ефективността на сортирането на данните. Когато става въпрос за сортиране с помощта на езика за програмиране на python, имаме метод sort (), който може просто да приеме стойността и да я сортира във възходящ ред. В тази статия ще научим как да сортираме данните от масива във възходящ ред, като използваме сортиране на купчината и ще използваме езика за програмиране на python за изпълнение на кодовата реализация на Heapsort.

Как работи Heap Sort в Python?

  • Преди да обясните работата на Python, е важно да разберете какво всъщност е и как се различава от другите сортиране на алгоритми. Heapsort може да се разглежда като подходът за сортиране, при който максималната стойност от списъка се среща и се прехвърля на последната част от масива и процесът се задържа при повторение, докато списъкът не се трансформира в сортиран списък. начинът, по който го прави различен от другите методи за сортиране, не е нищо друго, а само подходът, който следва, за да се сортират всички стойности на масива. Състои се от рекурсивния процес, който трае, докато стойностите в масива не се подредят във възходящ ред.
  • Сега нека разберем как сортирането на купчината работи подробно с помощта на пример. Да предположим, че arr е масив, който държи стойностите като 9, 5, 2. В началото стойностите на масива не са подредени по сортиран начин, но след извършване на сортирането на купчина, той ще бъде превърнат във възходящ ред. Когато алгоритъмът за сортиране на купчина се прилага към този масив, първото нещо, което ще го направи, за да намери най-голямата ни стойност в масива. Тъй като 9 е най-голямата стойност, тя ще бъде преместена в последния индекс на списъка, а всички останали стойности ще се преместят една стъпка вляво, за да се създаде пространство за задържане на най-голямата стойност. След като 9 се измести към последния индекс или масив, списъкът на стойностите ще изглежда като 5, 2, 9.
  • Сега все още масивът не е сортиран, което показва, че същият процес трябва да се повтори отново. Сега, докато намерите най-голямата стойност от списъка на непреработени стойности, 5 ще бъде избрана като втора по големина стойност и ще бъде преместена във втория последен индекс. След преместване 5 във втората последна позиция масивът ще бъде превърнат в сортиран масив и стойностите ще бъдат подредени във възходящ ред на сглобяването като 2, 5, 9. Това е начинът на сортиране на купчината. В действителност той идентифицира максималната стойност и я премества в края на масива и продължава да изпълнява същия процес, докато масивът се превърне в подредения масив.

Примери за внедряване на Heap Sort в Python

За да научим концепцията за натрупване, нека го разберем, използвайки действителния пример. Ще внедряваме алгоритъма за сортиране на купчина, използвайки езика на python. За да разработим програмата, ще използваме цикъл for, за да внесем рекурсионния механизъм и ще използваме, ако условията проверяват, за да проверят условията. В кода по-долу, Perform_heapsort е функцията, която приема три аргумента: val_arr, число и брой, където var_arr е масивът, докато числото и броя са от цяло число тип данни. Идеята на кода по-долу е да намери най-голямото число и да го задържи временно в променливата max_val, докато не се измести до края на масива. Ако се използва изявление, за да се гарантира, че най-голямата стойност се премества в подходящата позиция и тази позиция се блокира от актуализиране от следващата най-голяма стойност в списъка. Програмата ще повтаря подхода за намиране на най-голямата стойност и преместването й до края, докато списъкът не се настройва в подредената.

Код:

def perform_heapsort(val_arr, num, count):
max_val = count
counter1 = 2 * count + 1
counter2 = 2 * count + 2
if counter1 < num and val_arr(count) < val_arr(counter1):
max_val = counter1
if counter2 < num and val_arr(max_val) < val_arr(counter2):
max_val = counter2
if max_val != count:
val_arr(count), val_arr(max_val) = val_arr(max_val), val_arr(count) perform_heapsort(val_arr, num, max_val)
def heapSort(val_arr):
num = len(val_arr)
for count in range(num, -1, -1):
perform_heapsort(val_arr, num, count)
for count in range(num-1, 0, -1):
val_arr(count), val_arr(0) = val_arr(0), val_arr(count) # swap
perform_heapsort(val_arr, count, 0)
val_arr = ( 52, 91, 64, 252, 36, 91, 5, 35, 28) heapSort(val_arr)
num = len(val_arr)
print ("Values after performing heapsort")
for count in range(num):
print ("%d" %val_arr(count)),

В тази програма стойностите са зададени ръчно чрез кода. Var_arr е масивът, който държи стойностите. В този пример сме задали 9 стойности на масива. Стойностите в масива ще бъдат предадени на метода, наречен Perform_heapsort. След като стойностите влязат в метода, той ще бъде обработен и програмата ще започне да намира най-голямата стойност от списъка. Максималната стойност в този масив е 252, така че той ще бъде изместен до края на масива и този процес ще бъде приложен за всички стойности, докато масивът се превърне в подредения масив. След като масивът бъде сортиран от програмата, изходът ще се покаже в изхода.

изход:

заключение

Heapsort е един от различните алгоритми за сортиране. Евентуалният изход на този алгоритъм е сортиран списък, в който данните са подредени във възходящ ред. Тъй като процесът се повтаря и всеки път, когато всички стойности се изместват вляво, за да се коригира максималната стойност на списъка в края на масива, той се счита за по-малко ефективен алгоритъм за сортиране. Този подход на сортиране може да се използва в приложението, което трябва да обработва малък брой стойности.

Препоръчителни статии

Това е ръководство за сортирането на Heap в Python. Тук обсъждаме въвеждането на сортирането на Heap в Python, как работи сортирането на Heap в Python и примерите за прилагане на сортирането на Heap в Python. Можете също да прегледате и другите ни предложени статии, за да научите повече-

  1. Какво е компютърни науки?
  2. Какво е машинно обучение?
  3. Сигурност на уеб приложенията
  4. Функции на Python
  5. Ръководство за сортиране на алгоритми в Python