Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
V počítačovej vede, algoritmus je dobre definovaný postup krok za krokom alebo súbor pokynov navrhnutých na vykonávanie konkrétnej úlohy alebo na vyriešenie konkrétneho problému. Je to v podstate recept na sledovanie počítača.
Myslite na to ako na varenie receptu. Recept podrobne popisuje ingrediencie (vstup), kroky na ich prípravu (proces) a konečné jedlo (výstup). Algoritmus robí to isté pre počítač.
Kľúčové charakteristiky algoritmu:
* dobre definované: Každý krok musí byť jasný a jednoznačný. Neexistuje priestor na interpretáciu.
* konečné: Algoritmus sa musí ukončiť po konečnom počte krokov. Nemôže bežať večne.
* Efektívne: Každý krok musí byť prakticky spustený. Počítač musí byť schopný vykonať inštrukciu.
* Vstup: Algoritmus môže mať nulu alebo viac vstupov.
* výstup: Algoritmus musí produkovať jeden alebo viac výstupov (alebo v dôsledku toho vykonať určitú akciu).
* deterministické: Vzhľadom na rovnaký vstup by algoritmus mal vždy vytvárať rovnaký výstup (pokiaľ nezahŕňa náhodnosť, čo je stále definované správanie).
Uveďte jednoduchý príklad:Nájdenie najväčšieho čísla v zozname čísel.
Problém: Vzhľadom na zoznam čísel nájdite najväčšie číslo v tomto zozname.
Algoritmus:
1. Vstup: Zoznam čísel (napr. `[5, 2, 9, 1, 5, 6]`).
2. Inicializácia: Predpokladajme, že prvé číslo v zozname je najväčšie číslo. Uložte ho do premennej s názvom `max_number`.
3. iterácia:
* Prejdite každé zostávajúce číslo v zozname, jeden po druhom.
* Pre každé číslo porovnajte ho s aktuálnym `max_number`.
* Ak je aktuálne číslo väčšie ako `max_number`, aktualizujte` max_number` ako aktuálne číslo.
4. Výstup: Po opakovaní celého zoznamu bude `max_number` obsahovať najväčšie číslo v zozname. Návrat `max_number`.
ilustratívny návod so zoznamom `[5, 2, 9, 1, 5, 6]`:
1. `Input`:` [5, 2, 9, 1, 5, 6] `
2. `Max_number =5` (inicializované s prvým číslom)
3. iterácia:
* Aktuálne číslo:`2`. Je `2> 5`? Nie. `Max_number` zostáva` 5`.
* Aktuálne číslo:`9`. Je `9> 5`? Áno. "max_number" sa stáva "9".
* Aktuálne číslo:`1`. Je `1> 9`? Nie. `Max_number` zostáva` 9 ".
* Aktuálne číslo:`5`. Je `5> 9"? Nie. `Max_number` zostáva` 9 ".
* Aktuálne číslo:`6`. Je `6> 9`? Nie. `Max_number` zostáva` 9 ".
4. `Výstup:` 9`
Implementácia kódu Python:
`` `Python
def find_max (čísla):
"" "
Nájde najväčšie číslo v zozname čísel.
ARG:
Čísla:Zoznam čísel.
Návraty:
Najväčšie číslo v zozname.
"" "
Ak nie čísla:
Návrat NO # Zoznamte prípad prázdneho zoznamu
max_number =numbers [0] # inicializujte s prvým číslom
pre číslo v číslach:
Ak číslo> max_number:
max_number =číslo
návrat max_number
my_list =[5, 2, 9, 1, 5, 6]
najväčší_number =find_max (my_list)
Print (F "Najväčšie číslo je:{najväčší_number}") # Výstup:Najväčšie číslo je:9
`` `
Vysvetlenie kódu Python:
* Funkcia `find_max ()` obsahuje zoznam čísel ako vstup.
* Najprv skontroluje, či je zoznam prázdny. Ak je, vráti sa „Žiadne“.
* Inicializuje `max_number` do prvého prvku zoznamu.
* Potom iteruje zvyšok zoznamu pomocou „pre„ slučku.
* Vo vnútri slučky porovnáva každé „číslo“ s aktuálnym `max_number`.
* Ak je `number` väčší ako` max_number`, aktualizuje `max_number` na hodnotu` number`.
* Nakoniec vráti hodnotu `max_number`.
Prečo je to algoritmus?
* dobre definované: Každý krok (inicializácia, porovnanie, aktualizácia) je jasne definovaný.
* konečné: Slučka opakuje v zozname pevný počet krát (dĺžka zoznamu).
* Efektívne: Operácie (porovnanie, priradenie) sú základné operácie, ktoré môže počítač ľahko vykonávať.
* Vstup: Ako vstup si vyžaduje zoznam čísel.
* výstup: Vytvára najväčší počet ako výstup.
* deterministické: Vzhľadom na rovnaký zoznam čísel bude vždy produkovať rovnaké najväčšie číslo.
Tento jednoduchý príklad ilustruje základný koncept algoritmu. Algoritmy môžu byť oveľa zložitejšie a zahŕňajú sofistikované dátové štruktúry a matematické techniky. Základný princíp však zostáva rovnaký:dobre definovaný postup na vyriešenie konkrétneho problému.