- Řešení domácích úkolů:
- kulový besk jde ve dvou dnech
obecně každé otočení jde vyjádřit jako složení dvou osových souměrností
- ideou synchronizace je najít střed řady tak, že vysleme dva signály jeden rychlostí 1 a druhý rychlostí 1/3. Ty se (po odražení rychlejšího) potkají uprostřed řady. Tím je tento středový voják "povýšen".
Vyšle opět dva signály do leva a dva do prava. Tak budou povýšeni vojáci ve čtvrtinách. Tak se povýšení vojáci umísťují rovnoměrně po celé řadě. Vystřelí až jsou všichni povýšeni.
Tuto ideu by ještě bylo potřeba technicky dopracovat.
- spojové seznamy
- vkládání do seznamu za daný prvek
- vkládání před zadaný prvek
- vypuštění prvku
- pole versus seznamy
- různé modely spojových seznamů
- dvousměrný seznam
- kruhový seznam
- seznam s hlavou
- reprezentace řídkých polynomů jako kruhových seznamů s hlavou (má to výhodu, že nulový polynom má stejnou reprezentaci jako nenulový) obsahujícíc nenulové členy, uspořádaných podle exponentů
- rekurzivní řešení problému Hanojských věží
- písemka třídění heapsort
- Domácí úkoly
- Velbloud a banány
Velbloud má spotřebu 1 banán/km a nosnost 1000 banánů. Start je u hromady s 3000 banánů do jaké vzdálenosti dokáže dopravit 1000 banánů?
Zkuste řešit i obecně: Spotřeba S, nosnost N, velikost startovaví hromady V, velikost hromady v cíli v , vzdálenost hromad D.
Pro zadané S,V,N a v najděte maximální možnou vzdálenost D
Pro zadané S,V,N a D najděte maximální možnou velikost v
- napište podprogram (v nějakém jazyce resp. pseudo-jazyce), který otočí kruhový lineární seznam s hlavou
návod zkuste si uvědomit kolik proměnných potřebujete - nejde o minimalizaci jejich počtu, ale o jejich role/význam
- dobrovolný úkol
sestavte podprogram, který realizuje sčítání řídkých polynomů reprezentovaných jako kruhové spojové seznamy s hlavou obsahující členy s nenulovým koeficentem uspořádané podle exponentů
- dobrovolný úkol
Sestavte podprogram, který k zadanému přirozenému číslu N vytiskne všechny jeho různé rozklady na menší sčítance
(rozklady lišící se jen pořadím sčítanců se považují za stejné).
Např. pro N= 5 podprogram vytiskne:
4+1
3+2
3+1+1
2+2+1
2+1+1+1
1+1+1+1+1
Promyslete si vše, co bylo/bude na přednášce a připravte si případné otázky,
pokud potřebujete konzultaci, nestyďte se a domluvte si ji (gmail, mobil)
Máte mi dodat několik možností na pravidelné konzultace, já některou vyberu a budu vám v tédobě k dispozici