Bevezetés a halomrendezésbe a Pythonban

A programozási nyelvek bármelyike ​​különféle funkciókat biztosít az előre definiált funkciók révén. Az előre definiált módszerek és a programozási nyelv által kínált szolgáltatások kiaknázásával fejleszthetünk összetett alkalmazást. Amikor a lista értékeinek rendezett formává alakításáról beszélünk, akkor ezt a megközelítést rendezésnek hívják. Bár a szortírozás outputja a rendezési megközelítéstől függetlenül azonos, a legjobb módszer biztosítja az adatok válogatásának hatékonyságát. A python programozási nyelv használatával történő rendezéshez van egy sort () módszerünk, amely egyszerűen elfogadja az értéket, és növekvő sorrendbe rendezheti. Ebben a cikkben megtanuljuk, hogyan lehet a tömb adatait növekvő sorrendbe rendezni a halom rendezése alapján, és a python programozási nyelvét használjuk a halomtár kódjának végrehajtására.

Hogyan működik a Heap Sort a Pythonban?

  • Mielőtt elmagyaráznám a Python működését, fontos megérteni, hogy mi ez valójában és hogyan különbözik a többi rendezési algoritmustól. A halomtípus úgy tekinthető, hogy az a válogatási módszer, amelyben a listából származó maximális érték bekerül és a tömb legutóbbi értékére változik, és a folyamatot megismételjük, addig, amíg a lista átalakul egy rendezett listává. az a mód, amellyel különbözik a többi rendezési módszertől, nem más, mint a megközelítés, amelyet a tömb összes értékének rendezése érdekében követ. A rekurzív folyamatból áll, amely addig tart, amíg a tömb értékei növekvő sorrendbe nem kerülnek.
  • Most példa segítségével megértsük, hogyan működik a halomfajta részletesen. Tegyük fel, hogy az arr egy olyan tömb, amely a következő értékeket tartalmazza: 9, 5, 2. Az elején a tömb értékeit nem rendezik rendezetten, de a halom rendezés elvégzése után növekvő sorrendbe kerülnek. Amikor a halom rendezési algoritmust alkalmazzák erre a tömbre, akkor az első, amit megtesz, hogy megkeresse a tömeg legnagyobb értékét. Mivel a 9 a legnagyobb érték, akkor átkerül a lista utolsó indexébe, és az összes többi érték egy lépéssel balra mozog, hogy helyet teremtsen a legnagyobb érték tartására. Miután a 9-et az utolsó indexre vagy arr-re tolta, az értékek listája 5, 2, 9-re fog kinézni.
  • A tömb még mindig nincs rendezve, ami azt jelzi, hogy ugyanazt a folyamatot meg kell ismételni. Most, miközben a feldolgozatlan értékek listájából megtalálja a legnagyobb értéket, az 5-et választják a második legnagyobb értékre, és a második utolsó indexre kerülnek. Az 5-ös mozgatása után a második utolsó pozícióban a tömb válogatott tömbré válik, és az értékeket az összeszerelés növekvő sorrendjében rendezik, mint például 2, 5, 9. Így működik a halomfajta. Valójában meghatározza a maximális értéket, és mozgatja a tömb végére, és folytatja ugyanazt a folyamatot, amíg a tömb válik rendezett tömbgé.

Példák a halomrendezés végrehajtására a Pythonban

Hogy megtanulja a halomképlet fogalmát, értjük meg azt az aktuális példa segítségével. A halomfajta algoritmust a python nyelv használatával fogjuk megvalósítani. A program fejlesztése érdekében a for hurkot fogjuk használni a rekurziós mechanizmus előállításához, és a feltételek ellenőrzéséhez fogjuk használni a feltételeket. Az alábbi kódban az izpildes_heapsort három függvényt elfogadó függvény: val_arr, num és count, ahol var_arr a tömb, míg a num és a szám egész adattípus. Az alábbi kód célja, hogy megtalálja a legnagyobb számot, és ideiglenesen tartsa azt a max_val változóban, amíg el nem mozdul a tömb végére. Ha egy nyilatkozatot használtunk annak biztosítására, hogy a legnagyobb érték elmozduljon a megfelelő pozícióba, és hogy ezt a pozíciót blokkoljuk abban, hogy a lista következő legnagyobb értéke frissüljön. A program megismétli azt a megközelítést, hogy megtalálja a legnagyobb értéket, és a végére tolja azt addig, amíg a lista be nem hangolódik a rendezettbe.

Kód:

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

Ebben a programban az értékeket manuálisan rendelték a kódon keresztül. A var_arr az az értéktartó tömb. Ebben a példában 9 értéket rendelünk a tömbhez. A tömb értékei átadódnak az perfor_heapsort elnevezésű módszerhez. Amint az értékek belépnek a módszerbe, feldolgozásra kerül, és a program elkezdi megtalálni a legnagyobb értéket a listából. Ebben a tömbben a maximális érték 252, tehát a tömb végére tolódik, és ezt a folyamatot minden értékre alkalmazzák, amíg a tömb válik rendezett tömbgé. Miután a tömböt a program rendezte, a kimenet megjelenik a kimeneten.

Kimenet:

Következtetés

A Heapsort az egyik a különféle rendezési algoritmusok közül. Ennek az algoritmusnak a végeredménye a rendezett lista, amely az adatokat növekvő sorrendben rendezi. Mivel a folyamat megismétlődik, és minden alkalommal, amikor az összes értéket balra toljuk el, hogy a tömb végén beállítsuk a lista maximális értékét, ez a kevésbé hatékony rendezési algoritmus. A válogatás ezen megközelítését ki lehet használni az alkalmazásban, amelynek állítólag kevés értéket kell feldolgoznia.

Ajánlott cikkek

Ez egy útmutató a Python Heap Sort-hez. Itt tárgyaljuk a Pythonban a Heap Sort bevezetését, Hogyan működik a Heap Sort a Pythonban, és a Heap Sort Pythonban történő megvalósításának példáit. Megnézheti a többi javasolt cikket is, hogy többet megtudjon-

  1. Mi a számítástechnika?
  2. Mi a gépi tanulás?
  3. Webes alkalmazások biztonsága
  4. Python szolgáltatások
  5. Útmutató az algoritmusok rendezéséhez Pythonban

Kategória: