1 / 12

Učenje algoritama u Pythonu (Seminarski rad)

Učenje algoritama u Pythonu (Seminarski rad). Željko Čejvanović Prof. Fizike i Tehnike 3. g odina 03.05.2011. Sažetak. Dizajn i analiza algoritama su temeljne  teme... Mnogi tečajevi algoritama uključuju programske zadatke... Python predstavlja algoritam-orijentirani jezik ...

Télécharger la présentation

Učenje algoritama u Pythonu (Seminarski rad)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Učenje algoritama u Pythonu(Seminarski rad) Željko Čejvanović Prof. Fizike i Tehnike 3. godina 03.05.2011.

  2. Sažetak • Dizajn i analiza algoritama su temeljne teme... • Mnogi tečajevi algoritama uključuju programske zadatke... • Python predstavlja algoritam-orijentirani jezik ... • Prednosti Pythona su njegovi udžbenici... • Python se može koristiti za...

  3. 1. Uvod • Algoritmi su najvažniji alati za svakoga tko mora riješiti probleme pisanja računalnih programa • Programiranje vs  Algoritam Design (dizajn algoritama) • Python Edge (rub)

  4. 2. Uvodna lekcija: Sortiranje • Većina udžbenika poćinje sa sortiranjem kao način da uvedu algoritme i složene analize • Naša strategija je da prikažemo algoritme rame uz rame s Python kodom...

  5. 3. HeapSort (gomila) poredaj i prioritet redovi • Heap je struktura podataka koja predstavlja gotovo uravnoteženo binarno stablo koristeći niz... • Gomila i prioritet redovi su usko povezani, jer gomila može implementirati prioritetne redove učinkovito sa O(lg n)-vrijeme umetanja i vađenja. Jedna od razlika je, međutim, dinamička memorija upravljanja: u gomilu vrsta, veličina polja ostaje ista, dok u prioritet redovima veličina reda raste i smanjuje...

  6. 4. Binarna stabla i Huffman kodiranje • Huffman algoritam proizvodi prefiks-free, promjenjive duljine kodne riječi na temelju frekvencije svakog lika • Pohlepni algoritam koristi prioritet red za izdvajanje dva čvora... • Algoritam završava kad prioritet red uklanja zadnji čvor, koji postaje korijen stabla Huffman • Huffman algoritam konstruira stablo uspoređujući dva elementa s najmanje frekvencije...

  7. 4. Binarna stabla i Huffman kodiranje

  8. 4. Binarna stabla i Huffman kodiranje Slika 1 Primjer Huffman stabla

  9. 5. Grafikon Algoritmi • Graf ima više prikaza, a većina algoritama može pretpostaviti ili susjedstva liste ili matrice susjedstva reprezentacije... H = {'A': ['C', 'D'], 'B': ['D', 'A'], 'C': ['D', 'E'], 'D': ['E'], 'E': [] } L = {'A': {'C':2, 'D':6}, 'B': {'D':8, 'A':3}, 'C': {'D':7, 'E':5}, 'D': {'E':-2}, 'E': {}} Sl.2: Primjer usmjereni graf

  10. 6. Zaključak i zašto je Python pogodan za učenje izrade algoritama?! • Kao algoritam orijentirani jezik, Python omogućava učenje ključnih koncepata u dizajnu algoritama, umjesto da se bori s nama sa osebujnim obilježjima koje imaju konvencionalni programski jezici... • Sve u svemu, mislim da je Python jako dobar program za izradu algoritama...

  11. 7. Literatura

  12. The end...

More Related