关闭

算法导论 红黑树 节点删除

RB-DELETE-FIXUP:需要执行Fixup的大前提是:被删除节点y是黑节点。 先说一下删除节点时可能违背的特点。特点一:节点或红或黑。不违背。特点2:根节点是黑节点。当被删除的节点是黑节点,而新的根节点是红节点时,违背特点2。不过处理很简单,由于x节点是红节点,在Fixup函数中不执行while循环,直接执行最后的赋值,也就是简单地将x涂为黑。特点3:叶节点为黑。不违背。特点4:红节点的子节点为黑。当p[...
阅读(1840) 评论(0)

算法导论 红黑树加入节点

RB-INSERT-FIXUP:加入一个新节点时可能出现的问题:1.被加入节点是红节点,且原红黑树为空,这时只要把节点x涂成黑色即可。2.被加入的红节点的父节点也是红节点,即z和p[z]都为红色,这就违背了特点4。问题1可通过算法最后一行解决。问题2是算法主要结局的问题。 问题2分两种情况,p[z]为左子节点,p[z]为右子节点,而对二者是相反的,只需列举一种情况即可。以左节点为例。p[z]为左子节点分三种情况,...
阅读(1213) 评论(0)

算法导论 红黑树的翻转

rotation:自转红黑树的left rotation 和 right rotation 的作用就是移动二分检索树的节点而不改变二分检索树的性质,是为了平衡二分检索树的,也就是维持红黑树。LEFT-ROTATE(T, x) 1  y ← right[x]            ▹ Set y. 2  right[x] ← left[y]      ▹ Turn y's left subtree into x's right subtree. 3  p[left[y]] ← x 4  p[y] ← p[x]...
阅读(1258) 评论(0)

算法导论 红黑树基础知识

红黑树的五个特点:1.      每个节点颜色或红或黑2.      根节点是黑色3.      每个叶节点为黑色(通常为了简便,所有叶子节点都用一个黑节点代替,或者在图中是直接省略)4.      如果一个节点是红的,那么它的两个字节点一定是黑的5.      对于任意一个节点,从这个节点出发直到叶子的两条路径上的黑节点的数目相同(对于一般树的情况,则是所有路径上的黑节点数目相同) 概念:black...
阅读(1244) 评论(0)

算法导论 第十二章 二分检索树

#include using namespace std; typedef struct Node { int key; Node *parent; Node *left; Node *right; }Node; class BinSearchTree { private: Node *root; public: BinSearchTree(); Node* GetRoot(); Node* Max(N...
阅读(1293) 评论(0)

算法导论 递归树计算复杂度

 ...
阅读(1512) 评论(0)

算法导论 第十一章总结

1.直接寻址表:全集U中每一个的数据对.直接寻址表中的一个下标。DIRECT-ADDRESS-SEARCH(T, k)    returnT [k] DIRECT-ADDRESS-INSERT(T, x)   T[key[x]] ← x DIRECT-ADDRESS-DELETE(T, x)   T[key[x]] ← NILEach of these operations...
阅读(1323) 评论(0)

不重复随机生成数

FILE *pw;FILE *pf;vector vect;pf=fopen("num.txt","w+t");pw=fopen("排序.txt","w+t");int tatol;tatol=1000000;int *sequence = new int[tatol];int *output = new int[tatol];for (int j = 0; j {sequence[j] = j;}srand((unsigned)time(NULL));int end = tatol - 1;for (in...
阅读(1220) 评论(0)

算法导论 习题6.5-8

6.5-8       算法思想:有k个子列表,每个列表以堆的形式保存在k个数组中,用每个堆的根元素root来代表这个堆,也就是把每一个对看做一个元素root,再对这k个root建堆,建立全局堆Master-Heap。开始排序时,先从这由k个root组成的堆中提取最小的root,也就是提取Master-Heap的根节点root’ ,然后再对root所在的子堆重建堆,之后,再对新的Master-Heap重建堆。直到root’ 所在的堆的元素都被取走,这时可用Master-Heap的第二...
阅读(1262) 评论(0)

算法导论 第十二章总结

TREE-INSERT(T, z) 1  y← NIL 2  x←root[T] 3  whilex≠ NIL 4      doy←  x         //y始终随着x移动,记录x的最新位置 5         ifkey[z] <key[x] 6            thenx←left[x] 7            elsex←right[x] 8  p[z] ←y               //z的父节点被赋为y 9  ify = NIL10     thenroot[T] ←z     ...
阅读(1348) 评论(0)

用批处理实现文件所在文件夹同名

@echo offfor /f "delims=" %%i in ('dir/b/ad') do (ren "%%i/*.nes" "%%~ni.nes")pause http://zhidao.baidu.com/question/43360138.html?si=3...
阅读(1293) 评论(0)

有用的国外开源项目网址

sourceforge http://sourceforge.net/java.net http://www.java.netwww.eclipse.orgwww.opensource.orgLomboz http://www.objectlearn.com/index.jsp (J2EE plugin for Eclipse)htmlArea http://sourceforge.net/projects/itools-htmlare...
阅读(1474) 评论(2)

在麻省理工读计算机专业,看美国的计算机教育

美国, 麻省, 计算机教育, 理工, 专业 清华本科5年,和许多同志们一样为着一个闯荡世界的梦想苦苦努力,98年终于在历尽千辛万苦之后,踏上北美大陆。这两年来当真是感慨万千,清华的学习生活我算是深有体会,而北美大学的学习生活我也可以算是领会了个中滋味。相信国内的许多好学上进的DDMM们还处在一种梦想和憧憬的阶段,如我两年前一样,在这里我穷一己之力,希望能作一比较和介绍,让大家在国门之内能够了解到清华与北美的学习生活之同之异与差。切入点我选择的是中国和美国的名牌老大:清华和 MIT。 ...
阅读(1612) 评论(1)

CodeBlocks,cannot open output file permission denied的解决办法

在用CodeBlocks环境,mingw32编译器时经常遇到这个问题,一直的原因有两个:1.有正在run的exe文件。只要把它终结就好。2.目录名字中有空格或汉字。只要改成全英文就行了。...
阅读(15583) 评论(5)

链式哈希表(Hash Table)--算法导论示例

In computer science, a hash table is an associative array data structure that associates keys with values. The primary operation it supports efficiently is a lookup, where it is given a key, an identifier for the information to be found such as...
阅读(2034) 评论(0)
42条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:63648次
    • 积分:980
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:10篇
    • 译文:0篇
    • 评论:10条
    文章存档