Sobes.tech
Junior — Middle

Puteți explica ce este un index hash și ce rol joacă în optimizarea căutării datelor?

sobes.tech AI

Răspuns de la AI

Indexul hash este o structură de date utilizată pentru căutarea rapidă a înregistrărilor într-o bază de date după cheie. Se bazează pe o funcție hash care transformă valoarea cheii într-un index (hash), prin care se poate găsi rapid înregistrarea necesară.

Rolul indexului hash în optimizarea căutării:

  • Permite efectuarea operațiunilor de căutare, inserare și ștergere în timp constant mediu (O(1)), ceea ce este mult mai rapid decât parcurgerea secvențială.
  • Este deosebit de eficient pentru căutările exacte după cheie, dar nu este potrivit pentru interogări pe interval (de exemplu, căutarea tuturor valorilor dintr-un interval).

Exemplu: dacă aveți un tabel de utilizatori cu un identificator unic, un index hash pe acest identificator vă va permite să găsiți rapid utilizatorul fără a parcurge toate înregistrările.

În Go, se poate reprezenta o implementare simplă a unui index hash folosind un map încorporat:

// Exemplu de index hash simplu
utilizatori := make(map[int]string) // cheie - ID utilizator, valoare - nume

// Adăugare
utilizatori[101] = "Ivan"

// Căutare
nume, exista := utilizatori[101]
if exista {
    fmt.Println("Utilizator găsit:", nume)
}