Slovník provádění (Balance Binary Search strom vs hash tabulky)

hlasů
1

Za jakých okolností by bylo lepší zavést slovník ADT pomocí vyváženého binárního vyhledávání spíše než strom hash tabulku?

Můj předpoklad byl, že je vždy lepší použít binární vyhledávací strom, protože jeho přirozené uspořádání.

Ale je pravda, že čas hledat tabulky hash může být stejně dobrý jako O (1), vs O (LOGN) pro binární strom.

takže si nejsem jistý, co circumtaces bude.

Položena 15/04/2011 v 02:13
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
0

Váš dotaz již obsahuje odpověď:

Pokud si nevyžadují žádnou vnitřní uspořádání pak použít HashTable pro lepší výkon. Pokud vaše požadavky požadovat nějaké objednávání pak zvažte použití stromu.

Odpovězeno 15/04/2011 v 02:16
zdroj uživatelem

hlasů
1

Hashovací tabulky mohou mít problém výkonu, když se dostanou zaplnila a je třeba přerozdělit paměti (v kontextu tvrdého real-time systému) .Binary stromy nemají tento problém. Hashovací tabulky potřebují více paměti, než skutečně používat, kde jako binární stromy použít tolik paměti, kolik potřebují.

Odpovězeno 15/04/2011 v 02:19
zdroj uživatelem

hlasů
0

Časová složitost pro Dictionary je:

-----------------------------------------
| Operation   |  Dictionary |    BST    | 
-----------------------------------------
| Insert      |  O(1)       | O(log(n)) |
-----------------------------------------
| Delete      |  O(1)       | O(log(n)) |
-----------------------------------------
| Search      |  O(1)       | O(log(n)) |
-----------------------------------------

Takže pokud používáte BST vs slovník? Zde jsou některé hlavní výhody BST.

  • S BST máte vždy operace O (log (n)), ale změna velikosti tabulky hash je nákladný provoz
  • Pokud potřebujete dostat klíče v seřazeném pořadí, můžete si je přecházení nezbytného stromu. Třídění není přirozený do slovníku
  • Dělat statistiky, jako najít nejbližší nižší a vyšší element, nebo dotaz rozsah.
Odpovězeno 29/01/2019 v 21:47
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more