In regula.
Deci, în ultimul videoclip am vorbit despre dorința de a stoca informații utilizând o cheie ca Suyin sau roz
sau H orice șir.
Și, apropo, într-un tabel de date și date și o tabelă de hash, nu trebuie să fie un șir, ci doar
să ne concentrăm pe șiruri de caractere pentru a restrânge o parte din complexitate.
Dar oricum vom folosi nu este un număr.
Deci, să spunem că folosim un șir ca și cianul, mai degrabă decât un număr ca 0 sau 2 sau 1 milion.
Acest lucru este mult mai clar.
Așadar, dorim lizibilitatea umană.
Dar, desigur, trebuie să funcționeze.
Trebuie să fie un lucru real pe calculatorul nostru.
Și, din păcate, computerele nu știu cum să găsească ceva sau să introducă ceva la indexul roz sau indexul salut lume
sunt afară de la fața locului sau h doar computerele nu știu cum să facă acest lucru.
Din fericire avem mese de hash pentru salvare.
O.K.
Deci, repede doar o mică prefață aici.
Amintiți-vă că fiecare limbă, cel puțin fiecare limbă cu care am lucrat, are o implementare construită a unei tabele
de tip hash.
Inventăm de fapt roata aici, ceea ce, de obicei, încerc și evit în aceste cursuri, dar este doar
pentru a ne ajuta să înțelegem cum funcționează acest lucru.
Este important să înțelegeți ce se întâmplă în spatele scenei.
Îmi place să mă gândesc la asta, deoarece nu știu că construim un model mic ca un model de jucărie al unui motor de
mașină pe biroul nostru pentru a ne ajuta să înțelegem cum funcționează motoarele de mașini reale.
Dacă ar fi trebuit să folosiți unul, probabil că ați alege motorul Ferrari pe care îl purtați magic în
casa dvs., mai degrabă decât modelul de jucărie construit din carton.
Dar oricum înțelegeți cum funcționează acum.
Nu știu dacă este o analogie bună cinstit.
Deci, asta facem, încercăm să construim un model pentru a înțelege cum funcționează și pentru a face acest lucru.
Vom folosi o matrice sau o listă pentru a stoca informații în cazul în care trebuie să folosim numerele.
Deci, ce facem într-o tabelă de tip hash, luăm o contribuție.
Din nou, noi o ingustam ca sa spunem siruri de caractere cum ar fi salut sau roz Avem nevoie de o modalitate de a face roz si de
ao transforma intr-un numar pe care il putem stoca in matrice.
Deci, dacă matricea noastră merge de la 0 la 99 are 100 de sloturi de la 0 la 99 avem nevoie de o modalitate de a converti roz la
un număr între 0 și 99 și apoi vom stoca datele la acel număr.
Deci, există funcții care ne ajută să facem acest lucru și sunt numite funcții hash sau funcții hash.
De fapt, ei au un videoclip separat după acesta, unde vorbesc despre complicațiile de a scrie o
funcție de hash bun.
De ce este dificil.
Vom vorbi despre câteva exemple de funcții de tip hash.
Ele sunt folosite peste tot.
Există echipe foarte intense de oameni cum ar fi eforturile multinaționale de oameni care lucrează la funcțiile de hash, deoarece
au o mulțime de aplicații în securitate și criptografie.
Dar despre ce vorbim vor fi foarte simple și limitate în ceea ce privește funcțiile hash.
Ideea este să trecem printr-un șir.
Dacă aceasta este matricea noastră în care stocăm datele noastre, avem 10 sloturi pe care le transmitem unui număr
funcției hash.
Există multe implementări, dar doar o misiune hash misterioasă aici.
Cred că nu vedeți unde mă îndrept spre dreapta mea.
E o cutie.
Dacă trec prin șirul roz, trebuie să-mi dau un număr între 0 și 9.
Și de fiecare dată când trec și roz, ar trebui să-mi dea același număr.
Deci mi sa părut zero.
Modul de funcționare a acestei funcții hash este prelucrat în modul în care este construită această funcție hash.
Mă dă zero.
Așa că am stocat roz ca cheia și apoi aceasta ca valoarea la indexul 0, atunci mă duc la aceeași funcție hash
și spun că aici este roșu portocaliu.
La ce se convertește.
Ei bine, se întâmplă să convertiți la 7.
Deci încep de la 7.
Fac același lucru și pentru Psion și am trei.
Deci încep de la trei.
Deci așa mergem despre stocarea lucrurilor.
Acum, dacă cineva ma întrebat ce e un index.
Nu știu indicele Suyin.
Ei bine, codul nostru încă nu știe ce indice Suyin este, dar pot să-l iau pe Suyin și să-l dau din nou la funcția
de hash și să spun hei care a fost numărul pe care mi l-ai dat mai devreme și mi-a dat 3 și apoi mă duc la indexul 3.
Același lucru pentru roz.
De aceea este important să ne întoarcem mereu același număr dacă nu este.
Dacă nu se întâmplă acest lucru, atunci totul este rupt.
Pentru că dacă cer ceva ce e indicele lui Suyin și îmi dă nouă.
Nu e nimic aici.
Întotdeauna trebuie să fie același lucru.
Odată ce am introdus ceva, avem nevoie de consistență.
Deci, citind o funcție hash care funcționează, care ia un șir sau orice bucată de date o imagine un PTF un
video și cumva spits un număr.
Nu este ușor și despre asta vom vorbi în următorul videoclip.