b'\n_START_ARTICLE_\nAlgoritme\n_START_PARAGRAPH_\nEn algoritme (oldpersisk: Kharazmi) er en utvetydig og abstrakt beskrivelse af, hvordan en specifik type problem l\xc3\xb8ses terminerende._NEWLINE_En algoritme er en opskrift til at l\xc3\xb8se et problem af en bestemt type, som leverer en l\xc3\xb8sning uanset den konkrete problemsituations udseende. Et eksempel kunne v\xc3\xa6re en pr\xc3\xa6cis beskrivelse af, hvordan man sorterer et spil kort, uanset hvordan de enkelte kort ligger som udgangspunkt._NEWLINE_Ordet er en forvanskning af Muhammad ibn M\xc5\xabs\xc4\x81 al-Khw\xc4\x81rizm\xc4\xabs navn, han var en stor persisk matematiker.\n_START_SECTION_\nAnvendelse\n_START_PARAGRAPH_\nDet ovenst\xc3\xa5ende eksempel kan forekomme besv\xc3\xa6rligt og m\xc3\xa6rkeligt til at forklare, hvordan man sorterer en stak kort. Men selvom det for et menneske er en intuitiv opgave, er en computer n\xc3\xb8dt til at f\xc3\xa5 sine ordrer meget utvetydigt. Hvis man formulerer ovenst\xc3\xa5ende algoritme i et programmeringssprog, vil programmet v\xc3\xa6re istand til at sortere et (fiktivt) spil kort. _NEWLINE_Sorteringsalgoritmer er meget anvendt eksempel p\xc3\xa5 algoritmer, da de er eksemplariske og helt logiske af natur. Derudover bruges algoritmer ogs\xc3\xa5 til optimeringsopgaver i planl\xc3\xa6gningen af f.eks. fly-ruter, skemal\xc3\xa6gning til skoler osv. Denne type algoritmer kaldes heuristikker. Kort kan der n\xc3\xa6vnes simuleret nedk\xc3\xb8ling og genetiske algoritmer, som er typer af heuristikker. _NEWLINE_Man finder adskillige eksempler p\xc3\xa5 algoritmer i vores hverdag. Madopskrifter, monteringsinstruktioner og brugsanvisninger kan betragtes som algoritmer. De er dog kun nogenlunde logisk opstillede, og de fleste har pr\xc3\xb8vet at skulle samle et m\xc3\xb8bel efter en instruktion, som er mangelfuld. Andre har fors\xc3\xb8gt sig med madopskrifter, der g\xc3\xa5r ud fra som en selvf\xc3\xb8lge, at f.eks. delalgoritmen "opbagning" er velkendt for alle. For brugsanvisninger (eksempelvis p\xc3\xa5 pesticider) g\xc3\xa6lder der et ikke-h\xc3\xa5ndh\xc3\xa6vet lovkrav om, at de skal v\xc3\xa6re \xc3\xa9ntydige og umiddelbart forst\xc3\xa5elige.\n_START_SECTION_\nKompleksitet\n_START_PARAGRAPH_\nBeregningskompleksiteten af en algoritme beskriver hvor lang tid det teoretisk vil tage at l\xc3\xb8se et problem af en given st\xc3\xb8rrelse. Man taler om at en algoritme k\xc3\xb8rer i tid  for at l\xc3\xb8se en problem instans af st\xc3\xb8rrelse . Det vil her sige at k\xc3\xb8retiden af algoritmen vil v\xc3\xa6re kvadratisk afh\xc3\xa6ngig af inddataens st\xc3\xb8rrelse, groft sagt svarer det til at hvis du har dobbelt s\xc3\xa5 mange kort der skal sorteres tager det 4 gange s\xc3\xa5 lang tid. En simpel sorteringsalgoritme af kort, hvor man tager et kort ud af en blandet bunke og placerer det i en ordnet bunke vil k\xc3\xb8re i . Sorteringsalgoritmen n\xc3\xa6vnt foroven er noget mere avanceret og vil k\xc3\xb8re i  tid. Dette kunne svare til at dobbelt s\xc3\xa5 mange kort ville tage 3 gange s\xc3\xa5 lang tid at sortere (dette vil dog afh\xc3\xa6nge af mange faktorer, men forholdene er ikke urealistiske)._NEWLINE_Det er derfor en stor fordel at bruge mere effektive algoritmer, da det l\xc3\xb8ser problemer hurtigere._NEWLINE_Sorteringsalgoritmer vil normalt k\xc3\xb8re i polynomiel tid, det vil sige at deres k\xc3\xb8retid kan beskrives af et polynomium i deres inddatas st\xc3\xb8rrelse, . Specielt sv\xc3\xa6re problemer kan k\xc3\xb8re i eksponentiel tid, det kunne svare til at hvis du vil l\xc3\xb8se et problem af st\xc3\xb8rrelse 21 i stedet for af st\xc3\xb8rrelse 20, kan det tage dobbelt s\xc3\xa5 lang tid. K\xc3\xb8retiden eksploderer alts\xc3\xa5 med st\xc3\xb8rre inddata. Den rejsende handelsmands problem er et eksempel p\xc3\xa5 et s\xc3\xa5dant problem, disse kaldes ogs\xc3\xa5 NP-h\xc3\xa5rde.'