Kako napisati algoritme za začetnike

Delo pozno v njegovi pisarni

Zasluga slike: vgajic/E+/GettyImages

Oblikovanje novih algoritmov se lahko zdi zastrašujoče za nove programerje, vendar je to veščina, ki jo je mogoče vaditi kot vsako drugo. Začnite tako, da poiščete knjigo z algoritmskimi težavami za začetnike ali se udeležite spletnega ali nespletnega tečaja računalništva. Vadite obvladovanje osnov oblikovanja algoritmov, vključno z ocenjevanjem kompleksnosti in časa izvajanja, preverjanjem za robne primere, ki bi lahko povzročili težave računalniškemu algoritmu in razčlenitev težav na manjše deli.

Kaj je računalniški algoritem

Algoritem je postopek, ki mu sledi računalnik ali človek, da reši problem. Dolga delitev je vzorčni algoritem, ki se ga veliko ljudi nauči izvajati v šoli. Evklidov algoritem, ki se uporablja za iskanje največjega skupnega delitelja dveh števil, je še en pogost primer.

Video dneva

Računalniški algoritem je na koncu napisan v programskem jeziku, ki ga računalnik razume, ko pa se algoritem programerji in računalničarji pogosto zapišejo najprej neformalno kot prozo, nato pa bolj formalno v generični obliki, imenovani psevdokoda.

Psevdokoda je videti kot programski jezik, a ker je zasnovana tako, da jo berejo ljudje in ne računalniki, nima strogih sintaktičnih pravil.

Primeri preprostih algoritmov za začetnike

Znane primere algoritmov pogosto učijo začetnike računalničarje in programerje. Nekaj ​​primerov je Dijkstrajev algoritem, ki se uporablja v teoriji grafov za iskanje najkrajše poti med dvema točkama; Razvrščanje združitve, ki se uporablja za razvrščanje seznamov podatkov; in algoritem RSA, ki se uporablja za šifriranje podatkov. Mnogi od teh so na voljo na spletu v brezplačnih učbenikih, videoposnetkih in gradivu za tečaje.

Spletno mesto za učenje Khan Academy ima veliko primerov algoritmov, s katerimi lahko začetniki eksperimentirajo. Večje univerze, kot so Harvard, Stanford in Massachusetts Institute of Technology, pripravljajo učne načrte gradiva in videoposnetki tečajev s skupnimi algoritmi, ki so na voljo na spletu za uvod v računalništvo razredov.

Obstajajo tudi spletna mesta s težavami s programskimi tekmovanji in razlagami njihovega reševanja, kar lahko pomaga ljudem, ki jih zanima razvoj svojih veščin.

Premisleki o algoritmu

Ko pripravljate nov algoritem, se želite prepričati, da deluje v vseh primerih, kjer mislite, da bi moral, in poskusite razumeti, kako učinkovit je. Običajno programerji razdelijo algoritem na diskretne dele, da lahko razmišljajo o tem, kako vsak del deluje in koliko časa traja. To se imenuje modularna zasnova.

Preden začnete pisati kodo, je dobro, da sami preizkusite algoritem s peresom in papirjem na nekaj preprostih primerih. Ko razmišljate o učinkovitosti, pomislite na povprečen primer, pogoste situacije, s katerimi se lahko sreča vaš algoritem, in čas izvajanja v najslabšem primeru. Najslabši možni čas izvajanja je pogosto predstavljen s tako imenovanim Big-O notation.