Caracteristicile algoritmului, la ce servește, părți, exemple

2870
Jonah Lester
Caracteristicile algoritmului, la ce servește, părți, exemple

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

  • 1 Caracteristicile unui algoritm
    • 1.1 Claritate și precizie
    • 1.2 Intrări bine definite
    • 1.3 Ieșiri bine definite
    • 1.4 Finitudinea
    • 1.5 Fezabil
    • 1.6 Independența limbii
    • 1.7 Programe eficiente
  • 2 Pentru ce este un algoritm?
    • 2.1 Comprimarea fișierelor
    • 2.2 Criptarea datelor
  • 3 Cum funcționează un algoritm?
    • 3.1 Exemplu de caz
  • 4 Părți ale unui algoritm
    • 4.1 Achiziționarea datelor de intrare
    • 4.2 Calcul
    • 4.3 Selectare
    • 4.4 Iterare
    • 4.5 Raport de rezultate sau rezultate
  • 5 Tipuri de algoritmi
    • 5.1 Algoritm recursiv
    • 5.2 Divizați și cuceriți algoritmul
    • 5.3 Algoritm de programare dinamică
    • 5.4 Algoritmul forței brute
    • 5.5 Algoritm de backtracking
  • 6 Exemple de algoritmi
    • 6.1 Algoritm recursiv
    • 6.2 Algoritm de programare dinamică
    • 6.3 Algoritm de backtracking
    • 6.4 Diverse exemple
  • 7 Referințe

Caracteristicile unui algoritm

Claritate și precizie

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..

Intrări bine definite

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.

Rezultate 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.

Finitudine

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.

Fezabil

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.

Independența lingvistică

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.

Programe eficiente

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.

Pentru ce este un algoritm?

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.

Comprimarea fișierelor

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ă.

Criptarea datelor

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.

Cum funcționează un algoritm?

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.

Exemplu de caz

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:

Spune-mi algoritm

- Când ajunge avionul, sună-mi telefonul mobil.

- Ne întâlnim în afara zonei de recuperare a bagajelor.

Algoritm taxi

- Mergeți la stația de taxi.

- Urcă într-un taxi.

- Dă șoferului adresa mea.

Algoritmul autobuzului

- 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.

Algoritmul închiriază un vehicul

- 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.

Părți ale unui algoritm

Achiziționarea datelor de intrare

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.

Calcul

Algoritmul trebuie să aibă anumite resurse pentru a putea efectua calcule aritmetice, comparații, verifica condițiile logice etc..

Selecţie

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..

Repetare

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ă.

Raport de rezultate sau rezultate

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.

Tipuri de algoritmi

Algoritm recursiv

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..

Împărțiți și cuceriți algoritmul

Î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.

Algoritm de programare dinamică

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ă..

Algoritmul forței brute

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..

Algoritm de rezervă

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ă..

Exemple de algoritmi

Algoritm recursiv

Acest pseudocod găsește factorialul unui număr întreg „N” negativ, folosind un algoritm de recursie:

Algoritm de programare dinamică

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)

Algoritm de rezervă

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..

Exemple diverse

- Algoritm pentru diagnosticul HIV.

Algoritm pentru diagnosticul HIV. Sursă: Immunopedia / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)

- 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.

Referințe

  1. Lee Rainie (2017). Dependent de cod: argumente pro și contra vremii algoritmului. Centrul de cercetare Pew. Luat de pe: pewresearch.org.
  2. Termeni tehnici (2020). Algoritm. Preluat de pe: techterms.com.
  3. Britannica (2020). Algoritm. Preluat de pe: britannica.com.
  4. Educba (2020). Tipuri de algoritmi. Luat de pe: educba.com.
  5. How to Geek (2016). Ce sunt algoritmii de computer și cum funcționează? Luat de pe: howtogeek.com.
  6. Cum funcționează lucrurile (2020). Ce este un algoritm computerizat? Preluat de pe: computer.howstuffworks.com.

Nimeni nu a comentat acest articol încă.