Kako pisati algoritme za početnike

click fraud protection
Radi do kasno u njegovom uredu

Zasluga slike: vgajic/E+/GettyImages

Osmišljavanje novih algoritama može se činiti zastrašujućim novim programerima, ali to je vještina koja se može prakticirati kao i svaka druga. Započnite traženjem knjige problema algoritama za početnike ili pohađanjem online ili izvanmrežnog sata informatike. Vježbajte svladavanje osnova dizajna algoritma, uključujući procjenu složenosti i vremena izvođenja, provjeru za rubne slučajeve koji bi mogli uzrokovati probleme za računalni algoritam i razbijanje problema na manje dijelovi.

Što je računalni algoritam

Algoritam je postupak koji računalo ili čovjek slijedi kako bi riješio problem. Duga podjela je uzorak algoritma koji mnogi ljudi uče raditi u školi. Euklidski algoritam, koji se koristi za pronalaženje najvećeg zajedničkog djelitelja dvaju brojeva, je još jedan uobičajen primjer.

Video dana

Računalni algoritam je u konačnici napisan programskim jezikom koji računalo može razumjeti, ali kada se algoritam razvijeni, programeri i informatičari često ga pišu prvo neformalno kao prozu, a zatim formalnije u generičkom formatu tzv. pseudokod.

Pseudokod izgleda kao programski jezik, ali budući da je dizajniran da ga čitaju ljudi, a ne računala, nema rigorozna sintaktička pravila.

Jednostavni primjeri algoritama za početnike

Poznati primjeri algoritama često se podučavaju računalnim znanstvenicima i programerima početnicima. Neki primjeri su Dijkstraov algoritam, koji se koristi u teoriji grafova za pronalaženje najkraćeg puta između dvije točke; Sortiranje spajanjem, koje se koristi za sortiranje popisa podataka; i RSA algoritam koji se koristi za šifriranje podataka. Mnogi od njih dostupni su na internetu u besplatnim udžbenicima, videima i materijalima za tečajeve.

Stranica za online učenje Khan Academy ima mnogo primjera algoritama s kojima početnici mogu eksperimentirati. Glavna sveučilišta kao što su Harvard, Stanford i Massachusetts Institute of Technology izrađuju nastavne planove i programe materijale i videozapise tečajeva s uobičajenim algoritmima dostupnim na internetu za uvodnu informatiku razreda.

Postoje i web-mjesta s problemima natjecanja u programiranju i objašnjenjima kako se oni rješavaju, što može pomoći ljudima koji su zainteresirani za razvoj svojih vještina.

Razmatranja algoritma

Kada smišljate novi algoritam, želite biti sigurni da radi u svim slučajevima u kojima mislite da bi trebao i pokušati razumjeti koliko je učinkovit. Programeri obično dijele algoritam na diskretne dijelove kako bi mogli razmišljati o tome kako svaki dio radi i koliko dugo traje. To se zove modularni dizajn.

Dobra je ideja sami testirati algoritam olovkom i papirom na nekim jednostavnim slučajevima prije nego počnete pisati kod. Kada razmišljate o učinkovitosti, razmislite o prosječnom slučaju, uobičajenim situacijama s kojima će se vaš algoritam vjerojatno susresti i najgorem slučaju izvođenja. Vrijeme izvođenja u najgorem slučaju često je predstavljeno onim što se zove Big-O notation.