2014年4月24日

《算法导论》笔记 第14章 14.1 动态顺序统计

摘要: 【笔记】一棵顺序统计量树T通过简单地在红黑树的每个结点存入附加信息而成。在一个结点x内,除了包含通常的红黑树的域key color p left right,还包括域size[x]。这个域中包含以结点x为根的子树的结点数(包括x本身),即子树的大小。如果定义哨兵为0,也就是设置size[nil]为0,则有等式 size[x]=size[left[x]]+size[right[x]]+1。在出现相等关键字的情况下,定义排序为按中序遍历树时输出的结点位置,以此消除顺序统计树原定义的不确定性。检索具有给定排序的元素:过程OS-SELECT(x,i)返回一个指向以x为根的子树中包含第i小关键字的结点的 阅读全文

posted @ 2014-04-24 21:22 电子幼体 阅读(395) 评论(0) 推荐(0) 编辑

《算法导论》笔记 第13章 总结与思考

摘要: 【总结】template class RBTREE{public: struct NODE{ NODE *p,*l,*r; T key; COLOR c; NODE() {} }NIL; NODE *nil, *root; NODE* newNode(T k, COLOR cl = RED) { NODE *p = new NODE; p->c = cl; p->p = nil; p->l = nil; p->r = nil; p-... 阅读全文

posted @ 2014-04-24 17:27 电子幼体 阅读(486) 评论(0) 推荐(0) 编辑

《算法导论》笔记 第13章 13.4 删除

摘要: 【笔记】// 基本没搞懂 NODE* rbDelete(NODE *z) { NODE *y, *x; if (z->l == nil || z->r == nil) { y = z; } else { y = treeSuccessor(z); } if (y->l != nil) { x = y->l; } else { x = y->r; } x->p = y->p; if (y->p == nil) { root = x; } else { if ... 阅读全文

posted @ 2014-04-24 08:14 电子幼体 阅读(710) 评论(0) 推荐(0) 编辑

导航