Softwareudviklere afbalancere mange faktorer , når man bygger applikationer og websites . I de tidlige dage , da computere havde lidt opbevaring og ressourcer størrelse og hastighed var de vigtigste bekymringer. I dag, med multi- core processorer og gigabyte hukommelse , kompleksitet og vedligeholde ofte tilsidesætte ydeevne. Her er nogle af de vigtigste faktorer til at overveje , når du vælger de rigtige algoritmer til dit projekt. Instruktioner
1
Measure ydeevne. Den første faktor, der altid kommer til at tænke , når man måler en algoritme er hastighed. Ingen ønsker at vente på langsom software . Der er flere måder at afgøre, hvilke algoritme vil udføre bedst til opgaven ved hånden. En algoritme kan måles manuelt ved at tælle anvisninger med sandsynligheder at bestemme udførelse stier . Lettere stadig profilers der tæller maskine cykler, som koden kører .
2
Sammenlign kode størrelse . Selvom det ikke helt så vigtig som ydeevne , størrelsen af koden undertiden bliver en faktor . Embedded software og mobile apps ofte nødt til at dele begrænset hukommelse og browser-baseret kode tager tid at downloade. Nogle gange kan en lille hit i ydelse kan blive ofret til at barbere en betydelig mængde af kode.
3
Bestem graden af kompleksitet . De fleste kommercielle softwareudviklere skrive kode indsat på stationære pc'er eller webservere med masser af processorkraft og mere end tilstrækkelig hukommelse . I dag , den største udfordring er at styre kompleksitet. En forholdsvis enkel business applikation kan ofte have alt fra et par dusin til flere hundrede kode moduler, hver med flere hundrede linjer kode. I disse applikationer , er de bedste algoritmer enkel at forstå og let at implementere . For at måle kompleksiteten , tælle antallet af beslutningspunkter , funktion opkald , antal variabler og kompleksiteten af data- strukturer.
4
Sammenlign vedligeholdelse. Tæt koblet med kompleksitet er vedligeholdelse. En algoritme med mindre kompleksitet , præsenteret med masser af hvide rum og gavmildt drysset med velskrevne kommentarer vil være meget lettere at modificere , når kravene ændrer sig. De fleste udviklere bruger langt mere tid at fastholde og modificere eksisterende kode , end de gør skaber nye software .
5.
Godkend for korrekthed. Ofte overset i en diskussion af algoritmer er behovet for en passende algoritme, der opfylder alle krav og arbejder korrekt . Koden skal returnere bedre resultater input herunder randbetingelser og uventede værdier. Filtre skal være på plads til at afvise dårlige data , og exception handling koden skal reagere på numeriske overløb , underflow , netværk fiaskoer eller andre betingelser.
6
Vælg den mest hensigtsmæssige algoritme. Det bedste valg afbalancerer alle disse faktorer på en måde , der maksimerer ydeevnen og samtidig minimere omkostningerne ved udvikling og ejerskab.