Hvad er en algoritme?
In Computer Science, en algoritme er en veldefineret, trin-for-trin-procedure eller et sæt instruktioner designet til at udføre en bestemt opgave eller løse et bestemt problem. Det er i det væsentlige en opskrift på en computer at følge.
Tænk på det som en madlavningsopskrift. En opskrift beskriver ingredienserne (input), trinnene til at forberede dem (proces) og den endelige skål (output). En algoritme gør det samme for en computer.
Nøgleegenskaber ved en algoritme:
* veldefineret: Hvert trin skal være klart og entydigt. Der er ikke plads til fortolkning.
* endelig: Algoritmen skal afsluttes efter et begrænset antal trin. Det kan ikke løbe for evigt.
* effektiv: Hvert trin skal være praktisk talt eksekverbart. Computeren skal være i stand til at udføre instruktionen.
* input: En algoritme kan tage nul eller flere input.
* output: En algoritme skal producere en eller flere output (eller udføre nogle handlinger som et resultat).
* deterministisk: I betragtning af det samme input, skal algoritmen altid producere den samme output (medmindre det involverer tilfældighed, som stadig er en defineret opførsel).
Eksempel:Find det maksimale antal på en liste
Lad os illustrere med et simpelt eksempel:at finde det største antal på en liste over numre.
Problem: Givet en liste over numre, find det største antal på denne liste.
algoritme:
1. input: En liste over tal (f.eks. `[5, 2, 9, 1, 5, 6]`).
2. Initialisering: Antag, at det første nummer på listen er det største nummer. Opbevar det i en variabel kaldet `max_number '.
3. iteration:
* Gå igennem hvert resterende nummer på listen, en efter en.
* For hvert nummer skal du sammenligne det med den aktuelle 'max_number'.
* Hvis det aktuelle nummer er større end `max_number`, skal du opdatere` max_number` for at være det aktuelle nummer.
4. output: Efter iterering gennem hele listen vil `max_number` indeholde det største antal på listen. Returner `max_number`.
Illustrativ gennemgang med listen `[5, 2, 9, 1, 5, 6]`:
1.. `Input`:` [5, 2, 9, 1, 5, 6] ``
2.. `Max_number =5` (initialiseret med det første nummer)
3. iteration:
* Nuværende nummer:`2`. Er `2> 5`? Nej. `Max_number` forbliver` 5 '.
* Nuværende nummer:`9`. Er `9> 5`? Ja. `max_number` bliver` 9 '.
* Nuværende nummer:`1`. Er `1> 9`? Nej. `Max_number` forbliver` 9 '.
* Nuværende nummer:`5`. Er `5> 9`? Nej. `Max_number` forbliver` 9 '.
* Nuværende nummer:`6`. Er `6> 9`? Nej. `Max_number` forbliver` 9 '.
4. `output`:` 9`
Python -kodeimplementering:
`` `Python
def find_max (numre):
"" "
Finder det største tal på en liste over numre.
Args:
Numbers:En liste over numre.
Returnerer:
Det største antal på listen.
"" "
Hvis ikke tal:
returner ingen # håndtag tom liste sag
max_number =numre [0] # Initialiser med det første nummer
For nummer i tal:
Hvis nummer> max_number:
max_number =nummer
returner max_number
Eksempel Anvendelse:
my_list =[5, 2, 9, 1, 5, 6]
Største_number =find_max (my_list)
Print (F "Det største antal er:{Største_number}") # Output:Det største antal er:9
`` `
Forklaring af Python -koden:
* Funktionen `find_max ()` tager en liste over tal som input.
* Det kontrollerer først, om listen er tom. Hvis det er tilfældet, returnerer det 'ingen'.
* Det initialiserer `max_number` til det første element på listen.
* Det itererer derefter gennem resten af listen ved hjælp af en 'til' loop.
* Inde i løkken sammenligner den hvert `nummer 'med den aktuelle' max_number '.
* Hvis 'nummer' er større end 'max_number', opdaterer det 'max_number' til værdien af 'nummer'.
* Endelig returnerer det værdien af `max_number '.
Hvorfor er dette en algoritme?
* veldefineret: Hvert trin (initialisering, sammenligning, opdatering) er klart defineret.
* endelig: Loop itererer gennem listen et fast antal gange (længden af listen).
* effektiv: Operationerne (sammenligning, opgave) er grundlæggende operationer, som en computer let kan udføre.
* input: Det tager en liste over numre som input.
* output: Det producerer det største antal som output.
* deterministisk: I betragtning af den samme liste over numre vil den altid producere det samme største antal.
Dette enkle eksempel illustrerer det grundlæggende koncept om en algoritme. Algoritmer kan være meget mere komplekse, der involverer sofistikerede datastrukturer og matematiske teknikker. Men det underliggende princip forbliver det samme:en veldefineret procedure til at løse et specifikt problem.