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?


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)


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)


2
"avec une distribution moyenne des données" devrait se lire "avec une fonction de hachage suffisamment aléatoire"
JeffE
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.