Halda

Jedna ze základních datových struktur, která slouží k uložení libovolné množiny prvků nad kterou je definováno uspořádání a podporuje operace insert a extractMin.

Alternativně: nasypeme-li do haldy kupu věcí, které dokážeme nějak porovnávat mezi sebou (například čísla), najdeme na vrcholu haldy vždy to nej (největší/nejmenší - záleží na tom, jak haldu nastavíme)

Na cvičení jsme do binární haldy ukládali čísla a chtěli jsme mít na vrcholu vždy to nejmenší z nich. Obě výše zmíněné operace (insert,extractMin) jsme rozebrali na tabuli. Studijní materiál k binárním haldám je k dispozici leckde na internetu. Ze cvičení by vám mělo být jasné:

  • Jak fungují haldové operace?
  • Jak haldu implementovat v Pascalu?
  • Jak použít haldu k setřídění posloupnosti čísel?
  • Jakou složitost má algoritmus heapsort a proč?

Sníh a jednotka Crt

Protože Vánoce jsou za dveřmi a sníh nikde, tak je třeba si pořádnou chumelenici naprogramovat. K tomu se hodí jednotka Crt. Referenční příručka, vám může posloužit jako dobrý zdoj informací a příkladů, pokud budete chtít experimentovat.

Zkuste si kód upravit tak, aby sníh zůstával po dopadu ležet.

Domácí úkol

Nic nového. Stále je možné odevzdat Lloydovu osmičku.