我必须将排序后的数据存储在数据结构中。 我想使用的数据结构是堆或二叉搜索树。 但我很困惑哪个能更好地满足要求,即快速高效的搜索。
----更多详情---
我正在设计一个从源(比如数据网格)接收数据然后将其存储到数据结构中的应用程序。来自数据 GRID 站的数据是经过排序的数字形式。排序后的数据可以按升序或降序排列。
现在我必须搜索数据。并且该过程应该高效且快速。
最佳答案
堆只会让你快速搜索最小元素(在 O(1) 时间内找到它,在 O(log n) 时间内删除它)。如果你用另一种方式设计它,它会让你找到最大值,但你不会两者兼得。要快速搜索任意元素(在 O(log n) 时间内),您需要二叉搜索树。
关于data-structures - 用于快速高效搜索的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21704357/