在什么情况下使用平衡二叉搜索树而不是哈希表来实现字典ADT更好?
我的假设是,由于其自然顺序,使用二叉搜索树总是更好。
但确实哈希表的搜索时间可以和O(1),v。一样好。 O(logn)表示二叉树。
所以我不确定会有什么样的情况。
答案 0 :(得分:1)
哈希表在填满并且需要重新分配内存(在硬实时系统的上下文中)时可能会出现性能问题.Binary树没有此问题。 散列表需要比实际使用的内存更多的内存,因为二叉树使用的内存比他们需要的多。
答案 1 :(得分:0)
您的问题已包含答案:
如果您不需要任何内在排序,则使用哈希表以获得更好的性能。如果您的要求需要某种排序,请考虑使用树。
答案 2 :(得分:0)
字典的时间复杂度是:
EditText
那么您在哪里使用BST与字典?这是BST的一些主要优点。