7. Tēma — Algoritmi un to efektivitāte

Par šo tēmu

Vai esi kādreiz domājis, kā dators spēj atrast vienu vārdu starp miljoniem sekunžu laikā? Šajā tēmā mēs ielūkosimies "zem pārsega" tam, kā darbojas efektīvi algoritmi. Mēs pāriesim no vienkāršas koda rakstīšanas uz optimizāciju, mācoties izvēlēties pareizos rīkus katrai problēmai.

Mēs pētīsim divas fundamentālas darbības: meklēšanu un kārtošanu. Tu sapratīsi atšķirību starp lineāro meklēšanu, kurā pārbaudām visu pēc kārtas, un bināro meklēšanu, kas ir neticami ātra, pateicoties datu dalīšanai uz pusēm. Tāpat mēs "izjauksim" kārtošanas algoritmus (piemēram, Bubble sort), lai redzētu, cik daudz resursu tie patērē.

Svarīgākais šīs tēmas jēdziens ir algoritmiskā sarežģītība (Big O). Tas palīdzēs Tev prognozēt, vai Tava programma darbosies tikpat ātri ar 10 un ar 1 000 000 datiem. Tēmas kulminācijā mēs izstrādāsim spēli "Slepeno koda lauzējs", kurā dators izmantos Tavas jauniegūtās zināšanas par bināro meklēšanu, lai uzvarētu Tevi skaitļu minēšanā.

Tēmas saturs (Stundu plāns)

Papildus resursi

Nepieciešams atsvaidzināt atmiņu par algoritmu soļiem vai sarežģītības pakāpēm? Ieskaties špikerī:

7. tēmas Špikeri (Algoritmi un Big O)