<< 1.4 Graafid | Sisukord |
(Lisa)Mida edasi õppida?
Selle kursuse läbimisega oled sa õppinud selgeks algoritmide põhitõed ja oskad iseseisvalt lihtsamaid algoritme välja mõelda ja kirja panna. Ometi on loodud lugematul hulgal kavalaid algoritme ja selles kursuses jõudsime neid ainult nuusutada. Seetõttu soovitan sul jätkata iseseisvalt algoritmide õppimist, või tulla Tartu Ülikooli õppima ja võtta ainet Algoritmid ja Andmestruktuurid, sest ainult harjutamine teeb meistriks ja nii oled suuteline looma lõpuks algoritme mistahes probleemile.
Selleks, et saaksid iseseisvalt veel harjutada on siin toodud valik keerulisemaid ülesandeid, mida lahendada.
- Korrektsed avaldised - koosta algoritm, mis kontrollib, kas sõnena esitatud matemaatilises avaldises on sulud korrektselt paigutatud. Näiteks avaldises {$ 2*(3*(5) $} on sulud valesti. Täienda seda algoritmi selliselt, et korrektse valemi korral väljastaks see ka avaldise väärtuse. Väärtuse välja arvutamiseks võib olla kasulik viia avaldis https://en.wikipedia.org/wiki/Reverse_Polish_notation?;
- Kaheksa lippu malelaual - loo algoritm, mis leiaks kuidas paigutada malelauale kaheksa lippu nii, et ükski lipp poleks omavahel tules.
- Malelaua täitmine ratsu käikudega - malet oled ilmselt mänginud, kuid kas sa oskad koostada rekursiivse algoritmi, mis leiab millistele ruutudele peab üksik ratsu malelaual käima, et täita kogu malelaud, ilma et peaks kunagi astuma kaks korda samale ruudule?
- Kaugus iidolist sotsiaalvõrgustikus - koosta algoritm, mis leiab, mitme inimese kaugusel sa oma iidolist asud. Kauguseks võib siinkohal nimetada arvu, mitu inimest jääb sinu ja su iidoli vahele sõbralistis. Seega kui sul on sõber Mari, kelle sõber on sinu iidol, siis on kaugus iidolini 1 (sõber). Ülesande lahendamiseks soovitan sotsiaalvõrgustikku kujutada graafina ning alustada väikese graafi peal.
Lisaks soovitan sul tutvuda ka teiste Noored Koodi kursustega, mille materjalid leiad siit: https://courses.cs.ut.ee/t/nooredkoodi.
<< 1.4 Graafid | Sisukord |