A algoritm este un set de instrucțiuni concepute pentru a efectua o sarcină specifică. Adică, este o procedură sistematică care într-un număr finit de pași produce răspunsul la o întrebare sau soluția unei probleme. Un exemplu de algoritm este cel al motorului de căutare Google, în care, atunci când introduceți un cuvânt, dă mai multe rezultate sub formă de pagini web.
Poate fi un proces complex, cum ar fi redarea unui fișier de muzică, sau o operație simplă, cum ar fi adăugarea a două numere. În programarea computerizată, algoritmii sunt creați ca funcții. Aceste funcții sunt programe mici la care se poate face referire printr-un program mai mare.
O aplicație de vizualizare a imaginilor poate conține o bibliotecă de funcții, fiecare folosind un anumit algoritm pentru a reprezenta diferite formate de fișiere de imagine..
Un program de editare a imaginii poate conține algoritmi concepuți pentru a procesa date de imagine. Unele exemple sunt decuparea, redimensionarea, ascuțirea, estomparea, reducerea ochilor roșii și îmbunătățirea culorii..
Indice articol
Algoritmul trebuie să fie clar și lipsit de ambiguitate. Fiecare dintre pașii sau acțiunile dvs. trebuie să fie definit cu precizie, riguros clar în toate privințele și trebuie să aibă fără echivoc un singur sens..
Un algoritm are zero sau mai multe intrări, preluate dintr-un set specific de obiecte. Dacă algoritmul indică faptul că datele de intrare ar trebui luate, aceste date de intrare ar trebui să fie bine definite.
Algoritmul are întotdeauna una sau mai multe ieșiri, care au o relație cu intrările. Algoritmul trebuie să definească în mod clar ce informații de ieșire vor fi produse și trebuie, de asemenea, să fie bine definit.
Algoritmul trebuie să fie finit, adică trebuie să se încheie întotdeauna la un moment dat, după un număr finit de pași, și să nu se agațe de bucle infinite sau altele asemenea.
Algoritmul trebuie să fie inteligent și simplu, în așa fel încât să poată fi executat fără probleme cu resursele disponibile. Prin urmare, nu trebuie să conțină nicio tehnologie viitoare.
Algoritmul proiectat trebuie să fie independent de limbaj, adică trebuie să fie format doar din instrucțiuni simple care pot fi implementate în orice limbaj de programare și, totuși, rezultatul este întotdeauna același, așa cum era de așteptat.
Există întotdeauna diferite moduri de a efectua o operație specifică în cadrul unui program. Prin urmare, programatorii caută să creeze algoritmi cât mai eficienți..
Cu ajutorul algoritmilor foarte eficienți, se poate garanta că programele rulează la cea mai mare viteză, utilizând un minim de resurse de sistem.
Cu toate acestea, algoritmii nu sunt întotdeauna produși ireproșabil prima dată. Din acest motiv, dezvoltatorii caută să le îmbunătățească pentru a le include în viitoarele actualizări de software..
Prin urmare, ori de câte ori este cunoscută o nouă versiune a unei aplicații cu performanțe mai bune, aceasta înseamnă că această versiune conține algoritmi mai eficienți.
Algoritmul este un instrument extrem de util, folosit pentru a efectua lucrări. În calcul, alegerea celui mai bun algoritm asigură faptul că computerul îndeplinește sarcina dată în cel mai bun mod posibil.
Prin urmare, servește la optimizarea unui program de computer cu resursele disponibile. Adică, atunci când decideți să rezolvați o problemă prin cei mai buni algoritmi, doriți cea mai bună combinație de viteză a programului și un consum mai mic de memorie.
Diferitele algoritmi care pot fi studiați sunt la fel de variate ca problemele pe care le rezolvă. Cu toate acestea, este foarte probabil ca problema pe care încercați să o rezolvați să fie similară cu o altă problemă din anumite puncte de vedere..
Înțelegând o gamă largă de algoritmi, puteți alege cel mai potrivit pentru o problemă și să o aplicați corect.
Acești algoritmi sunt reglați și optimizați în mod specific pentru tipurile de fișiere pe care le vizează. De exemplu, fiecare format audio utilizează un mod diferit de stocare a datelor. Atunci când este decodat de codecul audio, acesta va genera un fișier de sunet similar cu forma de undă originală.
Algoritmii sunt folosiți și pentru a proteja datele sau liniile de comunicație. În loc să stocheze date comprimate astfel încât să utilizeze mai puțin spațiu pe disc, acestea sunt stocate într-un mod în care alte programe nu le pot detecta. Când datele sunt criptate, ceea ce este stocat nu seamănă cu ceea ce este.
Pentru a face un computer să facă ceva, trebuie să scrieți un program de computer. Pentru a scrie acest program, trebuie să spuneți computerului, pas cu pas, ce doriți să facă.
Computerul rulează apoi programul, executând fiecare instrucțiune automat, pentru a obține rezultatul final. Pe lângă faptul că indicați ce să faceți computerului, puteți alege și cum îl va face, prin intermediul algoritmului, fiind tehnica de bază utilizată pentru a face munca.
Să presupunem că aveți un prieten care ajunge la aeroport și trebuie să meargă de la aeroport la casa noastră. Acestea sunt patru algoritmi diferiți care ar putea fi dați pentru a rezolva această situație:
- Când ajunge avionul, sună-mi telefonul mobil.
- Ne întâlnim în afara zonei de recuperare a bagajelor.
- Mergeți la stația de taxi.
- Urcă într-un taxi.
- Dă șoferului adresa mea.
- Părăsind aeroportul, luați autobuzul numărul 70.
- Când ajungeți pe Main Street, luați autobuzul 14.
- Coborâți pe strada Elmo.
- Mergeți la două străzi spre nord până la casa mea.
- Luați o navetă către locul unde închiriază mașini.
- Închiriați un vehicul.
- Urmați instrucțiunile GPS pentru a ajunge la mine acasă.
Toți cei patru algoritmi îndeplinesc exact același obiectiv, dar fiecare o face diferit. Fiecare algoritm are, de asemenea, un cost și un timp de călătorie diferiți. Prin urmare, algoritmul este ales în funcție de circumstanțe.
Algoritmul trebuie să aibă anumite resurse pentru a putea citi valorile dintr-o sursă externă. Majoritatea algoritmilor necesită unele valori ale datelor pentru a defini o anumită problemă. De exemplu, coeficienții unui polinom.
Algoritmul trebuie să aibă anumite resurse pentru a putea efectua calcule aritmetice, comparații, verifica condițiile logice etc..
Algoritmul trebuie să aibă anumite mijloace pentru a putea alege între două sau mai multe cursuri posibile de acțiune, pe baza datelor inițiale, a introducerii utilizatorului și / sau a rezultatelor calculate..
Algoritmul trebuie să aibă anumite mijloace pentru a putea executa în mod repetat un set de instrucțiuni, fie pentru un număr fix de ori, fie până când este îndeplinită o condiție logică.
Algoritmul trebuie să aibă anumite resurse pentru a putea informa utilizatorul despre rezultatele pe care le-a calculat sau pentru a putea solicita date suplimentare de la utilizator.
Acest algoritm este foarte interesant, deoarece se numește cu o valoare diferită ca parametru de intrare, pe care l-a obținut după ce a rezolvat parametrul de intrare anterior. Adică, se cheamă în mod repetat până când problema este rezolvată.
Probleme precum Turnul din Hanoi sau căutarea profundă a unui grafic pot fi ușor rezolvate folosind aceste tipuri de algoritmi..
În acești algoritmi, este împărțit în două părți. În prima parte, problema în cauză este împărțită în subprobleme mai mici de același tip. La fel, în a doua parte subproblemele sale sunt rezolvate, combinând apoi ambele părți pentru a produce soluția finală a problemei..
De exemplu, cu acești algoritmi puteți efectua sortări combinate și sortări rapide.
Acești algoritmi funcționează prin amintirea rezultatelor cursei anterioare și folosirea lor pentru a găsi rezultate noi. Adică rezolvă probleme complexe împărțindu-le în mai multe subprobleme simple și apoi rezolvându-le pe fiecare dintre ele, stocându-le ulterior pentru utilizare ulterioară..
Acest algoritm caută orbește toate soluțiile posibile pentru a găsi una sau mai multe soluții care pot rezolva o funcție. Vă puteți gândi la forța brută ca folosind toate combinațiile posibile de numere pentru a deschide un seif..
Acest algoritm rezolvă probleme recursiv și încearcă să rezolve o problemă rezolvând fiecare parte a acesteia. Dacă soluția eșuează, este eliminată și retrogradată pentru a găsi o altă soluție.
Adică, acest algoritm rezolvă o subproblemă, dar dacă aceasta nu rezolvă problema totală, anulează ultimul pas și începe din nou pentru a găsi soluția la problemă..
Acest pseudocod găsește factorialul unui număr întreg „N” negativ, folosind un algoritm de recursie:
Secvența Fibonacci este un bun exemplu de algoritm de programare dinamică. O puteți vedea în acest pseudocod:
- Dacă (N = 0 sau N = 1), Fibonacci (N) = 0
- Dacă nu, Fibonacci (N) = Fibonacci (N-1) + Fibonacci (N-2)
Problema șahului celor 8 regine este un bun exemplu. Această problemă stabilește că există 8 piese de regină pe o tablă de șah și trebuie să fie așezate în așa fel încât niciuna dintre regine să nu poată ataca pe alta după ce sunt organizate..
- Algoritm pentru diagnosticul HIV.
- Motoarele de căutare de pe Internet utilizează algoritmi proprietari pentru a afișa cele mai relevante rezultate din indexul lor de căutare pentru interogări specifice..
- Rețetele, ca și ecuațiile matematice, sunt algoritmi.
- E-mailul știe unde să trimită datorită algoritmilor.
- Conținutul văzut pe rețelele de socializare vine prin intermediul algoritmilor. De fapt, tot ceea ce se face pe web este produsul algoritmilor.
- Jocurile video sunt povestiri algoritmice.
- Aplicațiile pentru smartphone-uri sunt doar algoritmi.
- Majoritatea tranzacțiilor financiare sunt efectuate folosind algoritmi.
- De fiecare dată când o coloană este sortată într-o foaie de calcul, intervin algoritmi.
Nimeni nu a comentat acest articol încă.