Malumotlar tuzilmasi va algoritmlar


Download 1.53 Mb.
bet6/7
Sana17.02.2023
Hajmi1.53 Mb.
#1207329
1   2   3   4   5   6   7
Bog'liq
algaritmlash maruza

Heapsort tartiblash - bu ikkilik uyum ma'lumotlar tuzilishiga asoslangan taqqoslashga asoslangan tartiblash usuli . Bu birinchi navbatda minimal elementni topadigan va minimal elementni boshiga joylashtirgan tanlash tartibiga o'xshaydi .  Qolgan elementlar uchun xuddi shu jarayonni takrorlang.

  • heapsort tartiblash - bu o'z joyida algoritm. 

  • Uning odatiy amalga oshirilishi barqaror emas, lekin barqaror bo'lishi mumkin ( qarang )

  • Odatda yaxshi amalga oshirilgan QuickSort ga qaraganda 2-3 baravar sekinroq . Sekinlik sababi - mos yozuvlar joyining yo'qligi.

Heapsortning afzalliklari:

  • Samaradorlik -  Uyma tartibini bajarish uchun zarur bo'lgan vaqt logarifmik ravishda oshadi, boshqa algoritmlar esa saralanadigan elementlar soni ortishi bilan eksponent ravishda sekinlashishi mumkin. Ushbu tartiblash algoritmi juda samarali.

  • Xotiradan foydalanish - Xotiradan foydalanish minimal, chunki saralanadigan elementlarning dastlabki ro'yxatini saqlash uchun zarur bo'lgan narsalardan tashqari, ishlash uchun qo'shimcha xotira maydoni kerak emas.

  • Oddiylik -  Boshqa teng darajada samarali tartiblash algoritmlariga qaraganda tushunish osonroq, chunki u rekursiya kabi ilg'or informatika tushunchalaridan foydalanmaydi.

Uyma tartiblashning kamchiliklari:

  • Qimmatli : yig'ish tartibi qimmat.

  • Beqaror : Issiqlik navi beqaror. Bu nisbiy tartibni o'zgartirishi mumkin.


#include
using namespace std;
void heapify(int arr[], int N, int i)
{
int largest = i;
int l = 2 * i + 1;
int r = 2 * i + 2;

Download 1.53 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling