data-structures - 用于快速高效搜索的数据结构

标签 data-structures heap binary-search-tree

我必须将排序后的数据存储在数据结构中。 我想使用的数据结构是堆或二叉搜索树。 但我很困惑哪个能更好地满足要求,即快速高效的搜索。

----更多详情---

我正在设计一个从源(比如数据网格)接收数据然后将其存储到数据结构中的应用程序。来自数据 GRID 站的数据是经过排序的数字形式。排序后的数据可以按升序或降序排列。

现在我必须搜索数据。并且该过程应该高效且快速。

最佳答案

堆只会让你快速搜索最小元素(在 O(1) 时间内找到它,在 O(log n) 时间内删除它)。如果你用另一种方式设计它,它会让你找到最大值,但你不会两者兼得。要快速搜索任意元素(在 O(log n) 时间内),您需要二叉搜索树。

关于data-structures - 用于快速高效搜索的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21704357/

相关文章:

algorithm - 合并两个二进制最大堆,其中一个堆中的所有元素都大于另一个堆中的所有元素?

algorithm - 给定两个每个大小为 n 的最大堆,从两个最大堆的元素中生成一个最大堆的最小可能时间复杂度是多少?

Java判断二叉树是否平衡

c++ - 如何在给定特定节点的 BST 中找到直接较大的元素?

algorithm - 如何验证二叉搜索树?

C++链表实现崩溃

java - 使用静态方法检查二叉树是否是二叉搜索树

c - 自引用结构的大小

java - 计算 n 个元素上所有可能根的高度为 h 的二叉搜索树的数量

java - 如何在java中使用迭代器?