Hachage à l'aide d'arbres de recherche au lieu de listes

11

Je me bats avec le matériel de hachage et d'arbre de recherche binaire. Et j'ai lu qu'au lieu d'utiliser des listes pour stocker des entrées avec les mêmes valeurs de hachage, il est également possible d'utiliser des arbres de recherche binaires. Et j'essaie de comprendre quel est le temps d'exécution le plus défavorable et le cas moyen pour les opérations

  1. insert,
  2. find et
  3. delete

est en valeur resp. cas moyen. S'améliorent-ils par rapport aux listes?

Forrest Gump
la source
Si vous avez accès à une analyse rigoureuse des temps d'exécution des tables de hachage avec chaînage linéaire (c'est-à-dire des listes linéaires), remplacez la partie dans laquelle les coûts moyens des listes linéaires sont connectés avec les résultats de cas moyens d'une implémentation d'arbre de recherche équilibrée. Le reste est mécanique. (
Raphael

Réponses:

4

O(1)O(n)O(n)O(n)O(logn)O(n)

O(logn)

jmad
la source
1
C'est tout à fait correct, mais je ne vois pas comment cela répond à la question posée.
rgrig
Ce ne fut pas la même question du tout à l'époque. (Même l'historique d'édition n'a pas la question d'origine. Bizarre.) Je pourrais mettre à jour ma réponse mais elle deviendrait redondante avec celle de Gilles.
jmad
4

O(n)nnn1=Θ(n)n1O(n)O(1)

O(logn)

O(1)

nn/2Θ(n)Θ(logn)

Gilles 'SO- arrête d'être méchant'
la source
2
"avec une distribution moyenne des données" devrait se lire "avec une fonction de hachage suffisamment aléatoire"
JeffE