31.12.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!