Cvičení k I002 (Návrh algoritmů I)

Požadavky pro získání zápočtu


Hotové příklady na disketě

  1. Unita se zásobníkem -- reprezentace pomocí dynamických proměnných
  2. Unita s frontou -- reprezentace pomocí dynamických proměnných
  3. Převod aritmetického výrazu z infixu do postfixu (pomocí zásobníku)
  4. Vyhodnocení arit. výrazu zapsaného v postfixovém tvaru (binární operátory, priorita op., závorky; pomocí zásobníku)
  5. Unita se seznamem - reprez. pomocí dynam. prom. (ukládání na začátek/konec seznamu, za/před prvek na který ukazuje ukazatel, odebrání následníka prvku zadaného ukazatelem, odebrání prvku zadaného hodnotou, hledání prvku, procházení seznamu, třídění)
  6. Určete frekvenci výskytů jednotlivých slov načítaného textu (úprava programu z přednášky -- doplnění zarážky)
  7. Josephus (Rozpočítávání) -- dynamicky, pomocí pole (simulace zřetězeného seznamu), zobrazení v CRT
  8. Topologické třídění
  9. Kříž -- úprava programu z přednášky, implementovat přehnednější zobrazení výsledku, vylepšení testovaní podmínky
  10. Backtracking (jedena z možností): všechny různé pozice ve čtverci, počet různých cest koněm po celé šachovnici

  11. Unita pro práci s grafy (dynamicky, incidenční matice) vytvoření grafu, výpis grafu
  12. Cesta v bludišti
  13. Warshall-Floyd na zjištění souvislosti grafu
  14. Dijkstrův alg. pro hledání nejkratších cest
  15. Minimální kostra grafu
  16. Procházení grafu do hloubky a do šířky - zjišťování vzdáleností všech uzlů od daného uzlu
  17. Zjistění nejkratších cest pro všechny dvojice uzlu - Warshall-Floyd
  18. Problém obchodního cestujícího -- rekurzivně; použití heuristiky

Možné zápočtové příklady