Video: Hva er en algoritme? 2025
Algoritmer handler om at finde løsninger, og jo hurtigere og nemmere jo bedre. Selvom folk har løst algoritmer manuelt i bogstaveligt talt tusindvis af år, kan det således forbruge enorme mængder tid og kræve mange numeriske beregninger afhængigt af kompleksiteten af det problem, du vil løse.
Der eksisterer et stort hulrum mellem matematiske algoritmer, der historisk er skabt af genier af deres tid, såsom Euclid, Newton eller Gauss, og moderne algoritmer skabt i universiteter samt private forsknings- og udviklingslaboratorier. Hovedårsagen til dette hul er brugen af computere.
Brug af computere til at løse problemer ved at anvende den rigtige algoritme fremskynder opgaven betydeligt, hvilket er årsagen til, at udviklingen af nye algoritmer har udviklet sig så hurtigt siden udseendet af magtfulde computersystemer. Faktisk har du måske bemærket, at flere og flere løsninger på problemer vises hurtigt i dag, dels fordi computerens strøm er både billig og konstant stigende. I betragtning af deres evne til at løse problemer ved hjælp af algoritmer bliver computere (nogle gange i form af speciel hardware) allestedsnærværende.
Når du arbejder med algoritmer, overvejer du indgangene, de ønskede udgange og processen (en række handlinger), der bruges til at opnå en ønsket udgang fra en given indgang. Men du kan få terminologien forkert og se algoritmer på den forkerte måde, fordi du ikke rigtig har overvejet, hvordan de virker i en virkelighedsindstilling. Det tredje afsnit i kapitlet diskuterer algoritmer på en virkelige måde, det vil sige ved at se terminologierne, der bruges til at forstå algoritmer og at præsentere algoritmer på en måde, der viser, at virkeligheden ofte er mindre end perfekt. Forståelse af hvordan man beskriver en algoritme på en realistisk måde gør det også muligt at temperere forventningerne til at reflektere virkeligheden af, hvad en algoritme rent faktisk kan gøre.
Nogle algoritmer, du arbejder, kræver dataindtastning i en bestemt form, hvilket nogle gange betyder, at dataene ændres for at matche algoritmens krav. Data manipulation ændrer ikke indholdet af dataene. Hvad det gør er at ændre præsentationen og formularen af dataene, så en algoritme kan hjælpe dig med at se nye mønstre, der ikke var tydelige før (men var faktisk til stede i dataene hele tiden).
Se følgende definitioner for udtryk, som folk ofte forveksler med algoritmer (men ikke):
- Ligning: Tall og symboler, der, når de tages som helhed, svarer til en bestemt værdi.En ligning indeholder altid et ligestegn, så du ved, at tallene og symbolerne repræsenterer den specifikke værdi på den anden side af ligestegnet. Ligninger indeholder generelt variable data, der præsenteres som et symbol, men de er ikke forpligtet til at bruge variabler.
- Formel: En kombination af tal og symboler, der bruges til at udtrykke information eller ideer. Formler indeholder normalt matematiske eller logiske begreber, som f.eks. Definition af den største fælles divisor (GCD) på to heltal (denne video fortæller hvordan dette virker). Generelt viser de forholdet mellem to eller flere variabler. De fleste mennesker ser en formel som en særlig form for ligning.
• Algoritme: En række trin, der bruges til at løse et problem. Sekvensen præsenterer en unik metode til at løse et problem ved at give en særlig løsning. En algoritme behøver ikke repræsentere matematiske eller logiske begreber, selvom præsentationerne i denne bog ofte falder ind i den kategori, fordi folk oftest bruger algoritmer på denne måde. Nogle specielle formler er også algoritmer, såsom den kvadratiske formel. For at en proces skal repræsentere en algoritme, skal den være
- Finite: Algoritmen skal til sidst løse problemet. Denne bog diskuterer problemer med en kendt løsning, så du kan vurdere, om en algoritme løser problemet korrekt.
- Veldefineret: Trinets trin skal være præcise og nuværende trin, der er forståelige. Især fordi computere er involveret i algoritmen brug, skal computeren forstå trinene for at skabe en brugbar algoritme.
- Effektiv: En algoritme skal løse alle tilfælde af det problem, som nogen definerede det. En algoritme bør altid løse det problem, den skal løse. Selvom du bør forudse nogle fejl, er forekomsten af fiasko sjælden og forekommer kun i situationer, der er acceptable for den tilsigtede algoritmebrug.