Hyrje në Algoritme
Në këtë mësim do të mësojmë çfarë është një algoritëm, cilat janë vetitë e tij kryesore dhe si të mendojmë algoritmikisht për të zgjidhur probleme.
1. Çfarë është një Algoritëm?
Fjala algoritëm vjen nga emri i matematikanit arab Al-Khwarizmi (shekulli IX). Sot, algoritmi është një sekuencë e rregullt hapash që zgjidh një problem të caktuar ose kryen një detyrë specifike.
Mendojeni si recetën e gatimit: ka hyrje (përbërësit), hapa të qarta (udhëzimet) dhe dalje (gjelli i gatuar). Çdo recetë është, në thelb, një algoritëm!
Algoritmi = Sekuencë e fundme hapash të qarta që zgjidhin një problem dhe ndalin pas ekzekutimit.
2. Vetitë e Algoritmit
Çdo algoritëm i mirë duhet të ketë këto veti:
- Hyrja (Input): Algoritmi merr zero ose më shumë të dhëna hyrëse.
- Dalja (Output): Algoritmi prodhon të paktën një rezultat.
- Saktësia (Correctness): Çdo hap duhet të jetë i qartë dhe i saktë.
- Fundësia (Finiteness): Algoritmi duhet të ndalojë pas një numri të fundëm hapash.
- Efektiviteti (Effectiveness): Çdo hap duhet të kryhet brenda kohës reale.
3. Shembuj Praktikë
Le të shohim algoritmin për gjetjen e numrit maksimal nga dy numra:
4. Pseudokodi
Pseudokodi është një gjuhë e ndërmjetme — nuk është gjuhë programuese e vërtetë, por ndihmon të shprehim algoritmin me fjalë të thjeshta para se ta shkruajmë në kod.
Pseudokodi përdor fjalë kyçe si: NËSE, NDËRSA, PËR, FILLIM, FUND.
5. Kompleksiteti i Algoritmit
Kompleksiteti mat sa burime (kohë dhe memorie) konsumon algoritmi. Shprehim kompleksitetin me notacionin O-të madhe (Big-O).
- O(1) — Kohë konstante: shumë i shpejtë, nuk varet nga madhësia e hyrjes
- O(n) — Kohë lineare: rritet me madhësinë e të dhënave
- O(n²) — Kohë kuadratike: shumë i ngadalshëm për të dhëna të mëdha