În forma sa de bază, un algoritm este un set de instrucțiuni detaliate pas cu pas pentru a finaliza o sarcină. De exemplu, un algoritm pentru a face cafea într-o presă franceză ar fi:
- Se toarnă apă în ceainic, închide capacul și pornește-l.
- Scoateți capacul de pe presa franceză și turnați 17 grame de cafea măcinată.
- Când apa din fierbător fierbe, se toarnă 290 de grame de apă fierbinte în presa franceză.
- Puneți capacul presei franceze la loc cu pistonul în sus.
- Așteptați 4 minute.
- Apăsați ușor pistonul în jos până ajunge în partea de jos.
- Se toarnă cafeaua într-o cană.
În informatică, algoritmii obișnuiți au nume precum „Quicksort” și „Bogosort”. Algoritmii sunt adesea grupați în diferite categorii, cum ar fi algoritmi de căutare, sortare și compresie. Mai mult, algoritmii pot fi descriși prin abordarea necesară pentru a finaliza o sarcină, cum ar fi recursiv, retrogradare, divizare și cucerire, lacom și forță brută.
Algoritmii sunt adesea asociați cu structuri de date, deși sunt fundamental diferite. Structurile de date sunt metode de stocare a datelor, astfel încât un algoritm să poată efectua cu ușurință operații pe acesta.
Câteva exemple obișnuite de structuri de date sunt matrici, stive, cozi, liste legate, copaci, grafice, tabele hash și grămezi.
Eficienţă
Algoritmii sunt adesea evaluați și comparați pe baza eficienței lor și a resurselor de care au nevoie. Unul dintre cele mai frecvente moduri de a evalua un algoritm este de a privi complexitatea timpului său printr-o metodă numită notație Big O.
Notarea O mare este o modalitate de a descrie viteza sau complexitatea unui algoritm și arată cel mai rău număr de operații pentru o dimensiune de intrare dată. Este important să înțelegeți timpul de rulare posibil pentru diferiți algoritmi, mai ales atunci când lucrați cu seturi de date mari sau în creștere. Notarea Big O face mai ușoară alegerea algoritmului potrivit pentru fiecare sarcină.
Algoritmi de sortare
Algoritmii de sortare au diferite arome în funcție de necesitatea dvs. Unele, foarte frecvente și utilizate pe scară largă sunt:
Sortare rapida
Nicio discuție de sortare nu este completă fără menționarea Sortării rapide.
Merge Sort
Algoritmul Merge Sort se bazează pe împărțirea și sortarea matricelor mai mici înainte de a le îmbina într-o matrice sortată.
Curriculumul Routech pune accentul pe crearea algoritmilor. Acest lucru se datorează faptului că învățarea algoritmilor este o modalitate bună de a exersa abilitățile de programare. Cel mai frecvent intervievatorii testează candidații pe algoritmi în timpul interviurilor de locuri de muncă pentru dezvoltatori.