treap数据结构的用途是什么?

时间:2018-03-29 19:32:58

标签: data-structures hashmap heap binary-search-tree treap

我目前正在研究高级数据结构,并且遇到了一个名为Treap的奇怪数据结构。我理解Treap是什么,但我似乎无法在有效的用例场景中找到它的实用程序。

为什么要使用这样的数据结构以及最好使用哪种类型的问题/条件?

我发现自己更多地使用哈希映射,最小/最大堆,二进制搜索树或平衡二叉搜索树,但我不知道为什么要使用treap。

1 个答案:

答案 0 :(得分:0)

它们更容易实现,更重要的是,如果您想对它们进行轻微修改或以某种方式更改它们,这将使它们更容易修改/维护。它们还允许集合操作Union / Intersect / Difference的高效并行版本,这是非常有价值的。将它们同时用作堆和二叉树并不是非常方便,除非您用于优先级的东西巧合地随机分布/置换。我想可能会出现一些方便的情况,但似乎不太可能。如此随机分布的东西通常更像是一个散列键,它通常不像有序数据那样有用。您是否经常按照SSN的顺序将人拉出来?我想这可能但不太可能。