heapsort - budowanie kopca

ArtS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Hej, mam w tablicy 51837. Po zbudowaniu kopca maksymalnego (uporządkowanego) wychodzi mi
51837
57831
87531
W materiałach od prowadzącego mam:
87513

Na końcowy wynik sortowania nie ma to znaczenia, ale jest do dla mnie zastanawiające

Charles_Ray
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1914
2

Heap sam w sobie nie jest posortowany i kolejność tych elementów, które wskazałeś nie ma znaczenia (zobacz jaki jest „warunek kopca”). Tablicę sortujemy poprzez algorytm heapsort, a to trochę więcej niż zbudowanie heapa.

nalik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1039
1

Jest OK. Warunkiem kopca maksymalnego jest to, że dzieci są mniejsze od rodziców.

Pytanie jak budowałeś kopiec? Liniowo czy n log n? Może różnica wynika z zastosowanej metody tworzenia kopca.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.