Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Algoritmizace a datové struktury (14ASD)

Podobné prezentace


Prezentace na téma: "Algoritmizace a datové struktury (14ASD)"— Transkript prezentace:

1 Algoritmizace a datové struktury (14ASD)
3. cvičení

2 Algoritmus Definice Jedná se o posloupnost elementárních kroků
Návod jak provést určitou činnost Přesný návod či postup, kterým lze vyřešit daný typ úlohy Transformace vstupních dat na výstupní data Vstupy mají definované množiny hodnot, jichž mohou nabývat Algoritmus je procedura proveditelná Turingovým strojem teoretický model počítače popsaný matematikem Alanem Turingem Jedná se o posloupnost elementárních kroků Jak si jej jednoduše představit: postup pro výpočet obvodu kruhu kuchařka: recepty postup jak převést číslo ze z-adické soustavy do jiné

3 Vlastnosti algoritmů Elementární Deterministický Konečný Resultativní
Skládá se z konečného počtu jednoduchých činností (kroky) Deterministický Po každém kroku můžeme určit zda skončil nebo v jakém kroku budeme pokračovat Konečný Musí skončit po konečném počtu kroků Resultativní Vede k výsledku Hromadný (obecný) Můžeme použít k řešení celé skupiny podobných úloh Efektivní Vede k řešení v optimálním čase - rychlost

4 Metody řešení algoritmů
Shora dolů Postup řešení rozkládáme na jednodušší operace, až dospějeme k elementárním krokům Příkladem je kvadratická rovnice Vypočti diskriminant Podle něj rozhodneme, zda-li máme Jedno řešení Dvě řešení Dvě komplexní řešení Zdola nahoru Skupiny elementárních operací chápeme jako nové elementární kroky Postupně z elementárních kroků vytváříme prostředky, které nakonec umožní zvládnout požadovaný problém

5 Časová a paměťová náročnost
Samotné vyřešení úlohy ještě neznamená spokojenost Často se dá úloha řešit jednodušeji (efektivněji) Musíme použít optimalizaci? Náročnost pro počítač Při komplikovanější úloze můžeme dlouho čekat na výsledek (procesor má příliš mnoho instrukcí) Časová náročnost tedy zjednodušeně může být úměrná počtu elementů, které umístíme do algoritmu Potom co nemůžeme ovlivnit: počet vstupních dat (ale…) Příklad Výpočet absolutní hodnoty zabere 3takty procesoru sin(x) nám zabere 291taktů Není to moc, ale pokud budeme kombinovat mnoho funkcí…

6 Základní symboly vývojového diagramu

7 robot Karel - pomůcka (shrnutí)
Karel – elementární operace Krok – posun o jedno políčko dopředu VlevoBok – natočení o 90° vlevo Polož – položení jedné cihly na aktuální políčko Zvedni – zvednutí jedné cihly z aktuálního políčka Karel – základní podmínky JeCihla – podmínka je pravdivá, pokud Karel stojí na políčku s minimálně jednou cihlou JeSever – podmínka je pravdivá, pokud je Karel otočen k severu (nahoru) JeZeď – podmínka je pravdivá, pokud před Karlem je zeď (při provedení příkazu Krok by do ní narazil)

8 Nekonečný cyklus

9 ObejdiMístnostDokolaZrohu – Karel stojí v libovolném rohu místnosti natočený zády ke stěně. Karel má obejít místnost buď ve směru nebo proti směru hodinových ručiček, podle toho, jak je na začátku natočen. proti směru po směru

10 ObejdiMistnostDokola – Karel má podél zdi obejít celou místnost dokola proti směru hodinových ručiček. Výchozí pozice je neznámá, stejně tak i směr natočení. Karel má na každé políčko u zdi stoupnout minimálně jednou. zjednodušující pravidlo – na začátku Karel může „chvíli“ jít podél zdi i po směru hodinových ručiček Z V

11 ObejdiMistnostDokola – efektivněji (stále proti směru hodinových ručiček) Snahou je, aby Karel zbytečně nevstoupil na políčka vícekrát. Nápověda – využijte cihlu (cihly) jako "zarážku„, na počátku je místnost bez cihel. Karel vstoupí pouze na jedno políčko u zdi dvakrát, na ostatní pouze jednou. Z V

12 Právě5CihelVeVšechRozích – Karel projde všechna políčka v rozích místnosti a naskládá na ně tolik cihel, aby po ukončení algoritmu ve všech rozích bylo přesně 5 cihel. Na počátku nevíme, kde robot stojí a jakým směrem se dívá. Na počátku v místnosti mohou být KDEKOLIV cihly v RŮZNÉM počtu.


Stáhnout ppt "Algoritmizace a datové struktury (14ASD)"

Podobné prezentace


Reklamy Google