use*_*439 19 treap data-structures cartesian-tree
任何人都可以提供真正的例子,说明何时存储数据的最佳方式是什么?
我想了解哪种情况下treap会比堆和树结构更好.
如果可能的话,请提供一些实际情况的例子.
我试图在这里搜索使用treaps的情况,并通过谷歌搜索,但没有找到任何东西.
谢谢.
smo*_*sen 12
如果将哈希值用作优先级,则treaps提供内容的唯一表示.
考虑实现为AVL树或rb树的项目的订单集.以不同顺序插入项目通常会以不同形状的树木结束(尽管所有这些都是平衡的).对于给定的内容,无论历史如何,treap总是具有相同的形状.
我已经看到了为什么唯一表示可能有用的两个原因:
我不能为你提供任何真实的例子.但我确实使用treaps来解决编程竞赛中的一些问题:
这些实际上并不是真正的问题,但它们是有道理的.
小智 5
Treaps是平衡二叉搜索树的绝佳变体.确实存在许多算法来平衡二叉树,但是大多数都是可怕的事情,需要处理大量的特殊情况.另一方面,对Treaps进行编码非常容易.通过使用随机性,我们有一个预计具有对数高度的BBT.使用treaps解决的一些好问题是 - http://www.spoj.com/problems/QMAX3VN/ (简易级别) http://www.spoj.com/problems/GSS6/ (中等级别)