Home

algorytmu

Algorytm to skończony zestaw precyzyjnie opisanych reguł, które prowadzą od określonego wejścia do wyjścia. Jego zadaniem jest rozwiązywanie problemów lub wykonywanie zadań poprzez wykonanie sekwencji kroków. Algorytmy są niezależne od języka programowania, na którym są implementowane, oraz od sprzętu, na którym działają; definicja dotyczy samego procesu obliczeniowego, a nie konkretnej implementacji.

Charakterystyka algorytmu obejmuje to, że każdy krok musi być jednoznaczny i wykonalny w skończonej liczbie kroków,

Historia nazwy sięga imienia perskiego matematyka Al-Chwarizmiego, od którego łacińska forma Algoritmi dała początek słowu „algorytm”.

Projektowanie i ocena algorytmów opiera się na paradygmatach takich jak podział i zdobywanie (divide and conquer),

a
proces
kończy
się
po
wykonaniu
ostatniego
kroku.
Algorytm
powinien
prowadzić
do
poprawnego
wyniku
dla
zadanych
danych
wejściowych.
W
analizie
wydajności
używa
się
złożoności
czasowej
i
pamięciowej.
Do
formalnej
analizy
służą
modele
obliczeniowe,
takie
jak
maszyna
Turinga
lub
model
RAM.
W
praktyce
istotne
są
klasyczne
przykłady,
takie
jak
algorytmy
sortowania
(quicksort,
mergesort),
wyszukiwania
(wyszukiwanie
binarne)
czy
najkrótszej
drogi
(Dijkstra).
Wyróżnia
się
również
algorytmy
deterministyczne
i
algorytmy
losowe,
a
także
podejścia
przybliżone
i
heurystyczne
stosowane
w
problemach
z
dużą
złożonością.
dynamiczne
programowanie,
algorytmy
zachłanne,
przeszukiwanie
i
heurystyki.
Weryfikacja
poprawności
może
być
dowodowa
lub
empiryczna.
Złożoność
czasowa
i
pamięciowa
decyduje
o
praktyczności,
a
klasy
obliczeniowe
(P,
NP)
określają
te
granice.
Algorytmy
znajdują
zastosowania
w
informatyce,
matematyce,
naukach
przyrodniczych
i
inżynierii
danych.