30.Prednaska/Cvicenie0

Z Pascal
Revízia z 11:56, 25. marec 2013; Andrej (Diskusia | príspevky)

(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Prejsť na: navigácia, hľadanie

30. Cvičenie


< 30.Prednáška | riešené úlohy


Rozcvička

1. lexikografický strom

type
  TLStrom = class
    Pocet: Integer;
    P: array ['a'..'e'] of TLStrom;
  end;
  • metóda function TLStrom.Pocet(K: Integer): Integer zistí počet vrcholov v úrovni K, ktoré majú nulový Pocet = počet rôznych slov v slovníku dĺžky práve K


Cvičenie

Na prednáške sa preberali len tieto tri triedenia: BubbleSort, MinSort, QuickSort. Okrem toho boli spomenuté (len hrubá idea): InsertSort, MergeSort, RadixSort.

  • na tabuli ručne triediť nejakú postupnosť čísel (10 - 15 náhodných čísel) najprv základnými triedeniami, potom sa zamyslieť nad InsertSort a MergeSort
  • ak sa bude dať, nasimulovať triedenia s kartičkami: pred tabulu v učebni postaviť 10 - 15 študentov a rozdať im kartičky s číslami -zvyšní študenti ich riadia podľa konkrétneho triediaceho algoritmu
  • variant: študenti čísla neukážu tým, ktorí ich riadia, len poslúchajú na príkazy "ak je prvý väčší ako druhý, vymeňte sa" - až na záver sa ukáže, či sú dobre usporiadaní
  • nasimulovať MergeSort s kartičkami
  • RadixSort na tabili, nejakých 10 - 20 náhodných trojciferných čísel
  • ak bude možnosť, pozrieť si rôzne triedenia na počítači, napr.


Domáca úloha

1. naprogramovať ľubovoľný triediaci algoritmus , ktorého kód nebol v prednáške

  • ako procedúru TSort.Sort do projektu z prednášky

2. ľubovoľným spôsobom implementovať algoritmus Radix sort

  • napríklad na zotriedenie viac-ciferných čísel