Acasă Finanțe personale Motivul pentru care datele de sortare sunt importante pentru algoritmi - dummies

Motivul pentru care datele de sortare sunt importante pentru algoritmi - dummies

Video: Vinay Venkatraman: Technology crafts for the digitally underserved 2024

Video: Vinay Venkatraman: Technology crafts for the digitally underserved 2024
Anonim

Imaginați-vă că încercați să găsiți un element într-o listă fără să îl sortați mai întâi. Fiecare căutare devine o căutare secvențială consumatoare de timp. Dar, un caz poate fi făcut pentru a nu sorta date pentru algoritmi. La urma urmei, datele sunt încă accesibile, chiar dacă nu le sortați - iar sortarea durează timp.

Desigur, problema cu datele nesortate este aceeași problemă cu sertarul de junk în bucătărie (sau oriunde ai sertarul tău de gunoi - presupunând că îl poți găsi). Căutarea a ceva în sertarul junk consumă mult timp, pentru că nici măcar nu puteți începe să ghiciți unde să găsiți ceva. Mai degrabă decât să ajungeți și să luați ceea ce doriți, trebuie să eliminați nenumărate alte elemente pe care nu le doriți în efortul de a găsi singurul element de care aveți nevoie. Din păcate, elementul de care aveți nevoie ar putea să nu fie în sertarul de junk în primul rând - s-ar putea să îl aruncați sau să-l puneți într-un alt sertar.

Sertarul de junk în casa ta este la fel ca datele nesortate ale sistemului. Când datele sunt nesortate, trebuie să căutați un element la un moment dat și nici măcar nu știți dacă veți găsi ceea ce aveți nevoie fără a căuta mai întâi fiecare element din setul de date. Este o modalitate frustranta de a lucra cu date.

Bineînțeles, simpla sortare a datelor nu este suficientă. Dacă aveți o bază de date a angajatului sortată după numele de familie, totuși trebuie să căutați un angajat până la data nașterii, sortarea nu este utilă. (Spuneți că doriți să găsiți toți angajații care au o zi de naștere într-o anumită zi.) Pentru a găsi data de naștere de care aveți nevoie, trebuie să căutați întregul set de date pe rând. În consecință, sortarea trebuie să se concentreze asupra unei nevoi particulare. Da, ați avut nevoie de baza de date a angajatului sortată după departament la un moment dat și după numele de familie la un alt moment, dar acum aveți nevoie de o listă ordonată după data nașterii pentru a utiliza setul de date eficient.

Necesitatea de a menține mai multe comenzi sortate pentru aceleași date este motivul pentru care dezvoltatorii au creat indici. Sortarea unui index mic este mai rapid decât sortarea întregului set de date. Indicele menține o comandă de date specifică și indică întregul set de date, astfel încât să puteți găsi ceea ce aveți nevoie extrem de rapid. Prin menținerea unui indice pentru fiecare cerință de sortare, puteți reduce în mod efectiv timpul de acces la date și permiteți mai multor persoane să acceseze datele în același timp, în ordinea în care au nevoie să le acceseze.

Există multe modalități de clasificare a algoritmilor de sortare. Una dintre aceste căi este viteza de genul acesta. Când se analizează cât de eficient este un algoritm special de sortare pentru aranjarea datelor, valorile de referință ale timpului se văd de obicei la doi factori:

  • Comparații: Pentru a muta datele dintr-o locație într-un set de date într-altul, trebuie să știți unde să îl mutați, ceea ce înseamnă compararea datelor țintă cu alte date din setul de date.Având mai puține comparații înseamnă performanță mai bună.
  • Schimburi: În funcție de modul în care scrieți un algoritm, este posibil ca datele să nu ajungă la locația finală din setul de date la prima încercare. De fapt, datele s-ar putea muta de mai multe ori. Numărul de schimburi afectează viteza considerabil, deoarece acum vă mutați date dintr-o locație în alta în memorie. Schimburile mai mici și mai mici (cum ar fi atunci când se utilizează indicii) înseamnă o performanță mai bună.
Motivul pentru care datele de sortare sunt importante pentru algoritmi - dummies

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...