Video: Vad är en algoritm? 2024
Algoritmer handlar om att hitta lösningar, och snabbare och enklare, desto bättre. Trots att människor har löst ut algoritmer manuellt för bokstavligen tusentals år kan det hända att det går mycket tid och kräver många numeriska beräkningar, beroende på komplexiteten i det problem du vill lösa.
Det finns ett stort gap mellan matematiska algoritmer som historiskt skapats av genier av sin tid, såsom Euclid, Newton eller Gauss, samt moderna algoritmer skapade på universitet samt privata forsknings- och utvecklingslaboratorier. Den främsta orsaken till detta gap är användningen av datorer.
Använda datorer för att lösa problem genom att använda den lämpliga algoritmen ökar uppgiften betydligt, vilket är orsaken till att utvecklingen av nya algoritmer har utvecklats så snabbt sedan utseendet på kraftfulla datorsystem. Faktum är att du kanske har märkt att fler och fler lösningar på problem ser ut snabbt idag, delvis, eftersom datorns ström är både billigt och ständigt ökar. Med tanke på deras förmåga att lösa problem med algoritmer blir datorer (ibland i form av speciell maskinvara) allestädes närvarande.
När du arbetar med algoritmer ser du inmatningar, önskade utgångar och processer (en sekvens av åtgärder) som används för att erhålla en önskad utgång från en given ingång. Du kan dock få terminologin fel och visa algoritmer på fel sätt eftersom du inte riktigt har övervägt hur de fungerar i en verklig miljö. Den tredje delen av kapitlet diskuterar algoritmer på ett verkligt sätt, det vill säga genom att se terminologierna som används för att förstå algoritmer och att presentera algoritmer på ett sätt som visar att verkligheten ofta är mindre än perfekt. Att förstå hur man beskriver en algoritm på ett realistiskt sätt gör det också möjligt att temperera förväntningarna för att återspegla realiteterna i vad en algoritm faktiskt kan göra.
Vissa algoritmer du arbetar kräver datainmatning i en viss form, vilket ibland innebär att data ändras för att matcha algoritmens krav. Data manipulation ändrar inte innehållet i data. Vad det gör är att ändra presentation och form av data så att en algoritm kan hjälpa dig att se nya mönster som inte var uppenbara före (men var faktiskt närvarande i data hela tiden).
Se följande definitioner för termer som ofta förvirras med algoritmer (men inte):
- Ekvation: Nummer och symboler som, när de tas som helhet, motsvarar ett visst värde.En ekvation innehåller alltid en jämliksignal så att du vet att siffrorna och symbolerna representerar det specifika värdet på andra sidan av jämliksignalen. Ekvationer innehåller i allmänhet variabel information som presenteras som en symbol, men de behöver inte använda variabler.
- Formel: En kombination av siffror och symboler som används för att uttrycka information eller idéer. Formler presenterar vanligtvis matematiska eller logiska begrepp, som att definiera den största gemensamma divisorn (GCD) av två heltal (den här videon berättar hur det fungerar). Vanligtvis visar de förhållandet mellan två eller flera variabler. De flesta människor ser en formel som en speciell typ av ekvation.
• Algoritm: En följd av steg som används för att lösa ett problem. Sekvensen presenterar en unik metod för att lösa ett problem genom att tillhandahålla en viss lösning. En algoritm behöver inte representera matematiska eller logiska begrepp, även om presentationerna i den här boken ofta faller i den kategorin eftersom folk brukar använda algoritmer på detta sätt. Några speciella formler är också algoritmer, som den kvadratiska formeln. För att en process ska kunna representera en algoritm måste den vara
- Finite: Algoritmen måste så småningom lösa problemet. I den här boken diskuteras problem med en känd lösning så att du kan utvärdera om en algoritm löser problemet korrekt.
- Väldefinierad: Stegsättet måste vara exakt och nuvarande steg som är förståeligt. Särskilt eftersom datorer är inblandade i algoritmanvändning måste datorn kunna förstå stegen för att skapa en användbar algoritm.
- Effektiv: En algoritm måste lösa alla fall av det problem som någon definierade det för. En algoritm bör alltid lösa problemet som det måste lösa. Även om du bör förutse några misslyckanden är incidensen av fel sällsynt och förekommer endast i situationer som är acceptabla för den avsedda algoritmanvändningen.