Video: Hva er en algoritme? 2024
Algoritmer handler om å finne løsninger, og jo raskere og enklere, jo bedre. Selv om folk har løst algoritmer manuelt for bokstavelig talt tusenvis av år, kan det hende at forbruker store mengder tid og krever mange numeriske beregninger, avhengig av kompleksiteten til problemet du vil løse.
Et stort gap eksisterer mellom matematiske algoritmer som er historisk opprettet av genier av sin tid, for eksempel Euclid, Newton eller Gauss, og moderne algoritmer opprettet på universiteter samt private forsknings- og utviklingslaboratorier. Hovedårsaken til dette gapet er bruk av datamaskiner.
Bruk av datamaskiner til å løse problemer ved å bruke den riktige algoritmen øker oppgaven vesentlig, hvilket er årsaken til at utviklingen av nye algoritmer har utviklet seg så fort siden utseendet på kraftige datasystemer. Faktisk har du kanskje lagt merke til at flere og flere løsninger på problemer vises raskt i dag, delvis fordi datamaskinens kraft er både billig og stadig økende. Gitt deres evne til å løse problemer ved hjelp av algoritmer, blir datamaskiner (noen ganger i form av spesiell maskinvare) allestedsnærværende.
Når du arbeider med algoritmer, vurderer du inngangene, ønskede utganger og prosess (en rekke handlinger) som brukes til å oppnå ønsket utgang fra en gitt inngang. Du kan imidlertid få terminologien feil og se algoritmer på feil måte fordi du ikke har vurdert hvordan de fungerer i en virkelighet. Den tredje delen av kapitlet beskriver algoritmer på en ekte måte, det vil si ved å se terminologiene som brukes til å forstå algoritmer og presentere algoritmer på en måte som viser at virkeligheten ofte er mindre enn perfekt. Å forstå hvordan man beskriver en algoritme på en realistisk måte, gjør det også mulig å temperere forventninger til å gjenspeile realiteten av hva en algoritme faktisk kan gjøre.
Noen algoritmer du jobber krever datainngang i en bestemt form, noe som noen ganger betyr at dataene endres for å matche algoritmenes krav. Data manipulering endrer ikke innholdet i dataene. Hva det gjør er å endre presentasjon og form av dataene slik at en algoritme kan hjelpe deg med å se nye mønstre som ikke var tydelige før (men var faktisk tilstede i dataene hele tiden).
Se følgende definisjoner for begreper som folk ofte forveksler med algoritmer (men ikke):
- Likning: Tall og symboler som, når de er tatt som helhet, tilsvarer en bestemt verdi.En ligning inneholder alltid et like tegn slik at du vet at tallene og symbolene representerer den spesifikke verdien på den andre siden av likestegnet. Likninger inneholder generelt variabel informasjon presentert som et symbol, men de er ikke pålagt å bruke variabler.
- Formel: En kombinasjon av tall og symboler som brukes til å uttrykke informasjon eller ideer. Formler presenterer normalt matematiske eller logiske begreper, for eksempel definere den største felles divisoren (GCD) av to heltall (denne videoen forteller hvordan dette fungerer). Vanligvis viser de forholdet mellom to eller flere variabler. De fleste ser en formel som en spesiell type ligning.
• Algoritme: En sekvens av trinn som brukes til å løse et problem. Sekvensen presenterer en unik metode for å løse et problem ved å gi en bestemt løsning. En algoritme trenger ikke representere matematiske eller logiske begreper, selv om presentasjonene i denne boken ofte faller inn i den kategorien fordi folk oftest bruker algoritmer på denne måten. Noen spesielle formler er også algoritmer, som den kvadratiske formelen. For at en prosess skal representere en algoritme, må den være
- Finite: Algoritmen må til slutt løse problemet. Denne boken omhandler problemer med en kjent løsning, slik at du kan vurdere om en algoritme løser problemet riktig.
- Veldefinert: Trinnene må være presise og nåværende trinn som er forståelige. Spesielt fordi datamaskiner er involvert i algoritmen, må datamaskinen forstå trinnene for å lage en brukbar algoritme.
- Effektiv: En algoritme må løse alle tilfeller av problemet som noen definerte det for. En algoritme bør alltid løse problemet det må løse. Selv om du bør forutse noen feil, er forekomsten av fiasko sjelden og forekommer bare i situasjoner som er akseptable for den tiltenkte algoritmen.