星海's Blog

老头初学编程
算法导论 红黑树的实现代码(C++)
算法导论 动态顺序统计树练习题 14.1-3 14.1-4 14.1-5

算法导论思考题 13-4 Treap

星海 posted @ 2012年11月19日 02:17 in 数据结构与算法分析 , 2070 阅读
struct treap {
   type element;
   int priority ;

}

treap array[n]; //由用户构建一个带有元素与互异优先级的数组。

for (int i = 0; i < n; i++) {
   treePtr = treapTreeInsert(array[i].elemnt)  //执行普通的二叉树插入,保存插入后的节点
   while (treePtr != treepHeader && treePtr->priority < treePtr->parent->priority) {
     // treePtr不为树根,且优先级比其父节点小。
      if (treePtr = treePtr->parent->left)
        rightRorate(treePtr->parent);
      else
        leftRorate(treePtr->parent);


未经验证,有过有错,请指正评论或给我发EMAIL

Avatar_small
幽梦寻蝶 说:
2012年12月15日 11:07

henhao


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter