Bildkredit: vgajic/E+/GettyImages
Att ta fram nya algoritmer kan verka skrämmande för nya programmerare, men det är en färdighet som kan övas på som alla andra. Börja med att leta efter en bok med algoritmproblem för nybörjare eller genom att ta en kurs i datavetenskap online eller offline. Öva på att bemästra grunderna i algoritmdesign, inklusive att uppskatta komplexitet och körtid, kontrollera för kantfall som kan orsaka problem för en datoralgoritm och dela upp problem i mindre delar.
Vad är en datoralgoritm
En algoritm är en procedur som en dator eller en människa följer för att lösa ett problem. Lång division är en exempelalgoritm som många lär sig göra i skolan. Den euklidiska algoritmen, som används för att hitta den största gemensamma delaren av två tal, är ett annat vanligt exempel.
Dagens video
En datoralgoritm skrivs i slutändan på ett programmeringsspråk som datorn kan förstå, men när algoritmen utvecklade, programmerare och datavetare skriver det ofta först informellt som prosa och sedan mer formellt i ett generiskt format som kallas pseudokod.
Pseudokod ser ut som ett programmeringsspråk, men eftersom det är designat för att läsas av människor snarare än datorer, har det inga rigorösa syntaktiska regler.
Enkla algoritmexempel för nybörjare
Kända exempel på algoritmer lärs ofta ut till nybörjare datavetare och programmerare. Några exempel är Dijkstras algoritm, som används inom grafteorin för att hitta den kortaste vägen mellan två punkter; Merge Sort, som används för att sortera listor med data; och RSA-algoritmen som används för att kryptera data. Många av dessa finns tillgängliga online i gratis läroböcker, videor och kursmaterial.
Nätlärsidan Khan Academy har många exempel på algoritmer som nybörjare kan experimentera med. Stora universitet som Harvard, Stanford och Massachusetts Institute of Technology gör kursplaner material och kursvideor med vanliga algoritmer tillgängliga online för inledande datavetenskap klasser.
Det finns också webbplatser med problem med programmeringstävlingar och förklaringar av hur de löses, vilket kan hjälpa människor som är intresserade av att utveckla sina färdigheter.
Algoritmöverväganden
När du kommer på en ny algoritm vill du se till att den fungerar i alla fall där du tycker att den borde och försöka förstå hur effektiv den är. Vanligtvis delar programmerare in algoritmen i diskreta delar så att de kan tänka på hur varje del fungerar och hur lång tid det tar. Detta kallas modulär design.
Det är en bra idé att själv testa en algoritm med penna och papper på några enkla fall innan du börjar skriva kod. När du tänker på effektivitet, tänk på det genomsnittliga fallet, vanliga situationer som din algoritm sannolikt kommer att stöta på och den värsta körtiden. Den värsta körtiden representeras ofta med vad som kallas Big-O Notation.