Seminarski rad: UÄenje algoritama u Pythonu - phy.hr - Prijava
Seminarski rad: UÄenje algoritama u Pythonu - phy.hr - Prijava
Seminarski rad: UÄenje algoritama u Pythonu - phy.hr - Prijava
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Neki instruktori pokušavaju ublažiti ovaj teret dajući studentima knjižicu rutine za strukture<br />
podataka. MeĎutim, još<br />
uvijek<br />
postoje mnogi problemi koji su svojstveni ovim jezicima, uključujući ulaz/izlaz i ponovno. Npr.<br />
, biblioteka može pružiti API za izg<strong>rad</strong>nju stabla ili grafa zazivajući algoritam iz strukture<br />
podataka. Studenti moraju shvatiti njihov slučaj uzastopna poziva na dodavanje<br />
jednog čvora na vrijeme graf, ili pročitati opis grafikona iz datoteke. Bivši pristup može<br />
biti neugodan, jer izvorni kod ne sliči strukturi podataka, ali smisao je vezan za API.<br />
Potonji pristup, koji koristi prilagoĎeni jezik za zastupanje graf, može biti više koncizan,ali to<br />
zahtijeva vježbanje rutine, što može smanjiti ponovnu uporabu i proširivost. Znaći, kada<br />
shvatimo graf, možemo mijenjati neke postavke kako bi ga promijenili.<br />
1.2 Python Edge (rub)<br />
Python adrese tih problema i čini uvjerljiv jezik za algoritme obrazovanje. Prvo, njegove<br />
uvlake-based sintaksa je toliko slična većini udžbenika da čak i studenti, bez puno<br />
programiranja nemaju problema kodiranja <strong>algoritama</strong> samo slijedeći<br />
knjigu. Zbog<br />
toga, popularnost s drugim jezicima je dvojbena, osobito s obzirom na činjenicu da<br />
njegov interaktivni način potiče studente da eksperimentiraju s njim bez dugog<br />
ciklusa. Drugo, Python pruža temeljne strukture podataka kao što su popisi, torke, rječnici i<br />
može se koristiti izravno algoritmima. Čak je i složenija struktura podataka kao što<br />
su drveće i grafikoni sažeti u čitljivom obliku.<br />
Postoji nekoliko prednosti: test slučajeva za algoritme mogu biti<br />
napisani<br />
direktno u <strong>Pythonu</strong> bez poziva svih podataka, strukturu izg<strong>rad</strong>nje API, i bez da se oslanjaju<br />
na bilo koji konvertor. U bilo kojem trenutku, podatkovne strukture mogu se takoĎer<br />
prikazati u tekstualnom obliku koji je čitljiv za ljude i za Python.<br />
2. Uvodna Lekcija: Sortiranje<br />
Većina udžbenika poćinje sa sortiranjem kao način da uvedu algoritme i složene analize.<br />
Naša strategija je da prikažemo algoritme rame uz rame s Python kodom kako bi pokazali<br />
njihovu sličnost. Mi smo započeli s InsertionSort, koja kao rezultat prikazuje niz s desna na<br />
lijevo:<br />
Algoritam iz udžbenika [1]<br />
Insertion-Sort(A) (umetanje-poredaj)<br />
1 for j