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.

podataka se može ispitati samo tako da upišete svoje ime. To onda može biti<br />

cut/lijepiti na drugi prozor Python tumača ili na drugi Python program, bez ikakvih sintaktičkih<br />

izmjena.<br />

Još važnije, ovaj prikaz je iznimno proširiv. Različiti algoritmi koriste dodatne atribute, ali se<br />

mogu dodati prema potrebi. Npr., jedan izvor, najkraći put <strong>algoritama</strong> ili breadth-first/depthfirst<br />

traversals zahtijevaju dodatne atribute, kao što prethodnik<br />

upućuje. U Python, algoritam jednostavno mogu dodati atribut prethodnik graf-objekt (kao<br />

što G.pred [v]), bez potrebe za definiranje podrazred za svaki algoritam. Ove novo<br />

dodano, atributi takoĎer mogu biti pregledani i izravno mijenjati bez potrebe nove rutine.<br />

6. Zaključak i zašto je Python pogodan za učenje iz<strong>rad</strong>e<br />

<strong>algoritama</strong>!<br />

Kao algoritam orijentirani jezik, Python omogućava učenje ključnih koncepata u dizajnu<br />

<strong>algoritama</strong>, umjesto da se bori s nama sa osebujnim obilježjima koje imaju konvencionalni<br />

programski jezici. Python način obraĎuje vrste podataka, predstavlja savršeno<br />

odgovarajućim načinom na koji potiče da sa sami zainteresiramo za njega i onda<br />

eksperimentiramo. Jednako je važno naše korištenje struktura podataka za drveće i grafove,<br />

koji su kao kompaktna što je više moguće i još ljudskih čitljiv i spremno prihvatio Python<br />

prevodioca.<br />

Sve u svemu, mislim da je Python jako dobar program za iz<strong>rad</strong>u <strong>algoritama</strong>, budući da nas<br />

on dosta često uči vještine rješavanja problema, a ne samo programiranje, kao što su<br />

dodatni moduli koje možemo koristiti bilo u matematici ili u fizici, crtanje svakakvih grafova i<br />

krivulja i puno toga.<br />

7. Literatura<br />

1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to<br />

Algorithms, Second Edition, McGraw-Hill Press, September 2001. ISBN 0-262-03293-7.<br />

2. Pai H. Chou, ECE 235 Website, University of California, Irvine, Fall<br />

2000. http://e3.uci.edu/00f/15545/ See also Fall 2001 edition at http://e3.uci.edu/01f/15545/.<br />

3. Algorithmic Solutions Software GmbH, homepage, http://www.algorithmic-solutions.com/,<br />

2001.<br />

4. Sara Baase, Allen Van Gelder, Computer Algorithms: Introduction to Design and Analysis,<br />

Addison Wesley, 2000.<br />

5. Mark Allen Weiss, Data Structures and Algorithm Analysis in JAVA, Addison-Wesley, 1999.<br />

6. Algorithm Education in Python: http://www.ece.uci.edu/~chou/py02/python.html<br />

7. 20.2.5. Funkcije:<br />

http://docs.python.org/release/2.6.6/library/cgi.htmlhighlight=making%20algorithms<br />

8. The Python Profilers:<br />

http://docs.python.org/release/2.6.6/library/profile.htmlhighlight=making%20algorithms<br />

9. bisect — Array bisection algorithm:<br />

http://docs.python.org/release/2.6.6/library/bisect.htmlhighlight=making%20algorithms<br />

10. decimalni - Decimalni fiksne točke i s pomičnim zarezom aritmetika:<br />

http://docs.python.org/release/2.6.6/library/decimal.htmlhighlight=making%20algorithms<br />

9

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

Saved successfully!

Ooh no, something went wrong!