
算法笔记
ypscut
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
哈希表
1、直接寻址表全域U很大的时候,容易导致内存不足;实际存储的关键字集合K相对U来说可能很小使得分配给T的大部分空间都被浪费掉。2、哈希表两个关键字可能同时映射到一个槽中1)通过链接法解决冲突CHAINED-HASH-INSERT(T,x)insert x at the head of list T[h(x.key)]CHAINED-HASH-SEARCH(T,k)search for原创 2015-03-26 12:45:39 · 347 阅读 · 0 评论 -
二叉搜索树
查找关键字k: 输入一个指向树根的指针和关键字kTREE-SEARCH(x,k)if x==NIL or k==x.key return xif k<x.key return TREE-SEARCH(x.left,k)else return TREE-SEARCH(x.right,k)迭代版本ITERACTIVE-TREE-SEARCH(x,k)while x!=NIL原创 2015-03-27 11:26:48 · 286 阅读 · 0 评论 -
红黑树
1. 满足下面红黑性质的二叉搜索树1、每个节点或是红的或是黑色2、根节点是黑色3、每个叶结点是黑色4、如果一个叶结点是红色,那么它的两个子节点都是黑色的5、对每个节点,从该节点到其后代叶结点的简单路径上,均包含相同数目的黑色节点。 2. 一棵有n个内部节点的红黑树的高度至多为2lg(n+1) 3. 在对红黑树进行update的时候,必须通过**旋转**改变某些节点的颜色以及指针结构以维持原创 2015-03-30 14:18:20 · 281 阅读 · 0 评论 -
顺序统计
查找最小值MINIMUM(A) 1. min=A(1) 2. for i=2 to A.length 3. if min>A[i] 4. min=A[i] 5. return min 选择排序代码 #include<iostream> using namespace std; void sort(int [],int); int main(){ int a[],i;原创 2015-03-22 11:28:58 · 336 阅读 · 0 评论 -
数据结构扩张
扩张红黑树构造出两种数据结构动态顺序统计:支持一般动态集合上顺序统计操作的数据结构,通过这种结构我们可以快速的找到一个集合中的第i小的数,或者一个指定元素在集合中的全序中的位置。 修改红黑树使得可以在O(lgn)时间内确定任何的顺序统计量,集合在集合线性序中的位置成为元素的**秩**。在红黑树的节点中添加了一个新的属性x.size,包含了以x为根的(包含x)的子树的内节点数,即这棵子树的大原创 2015-03-31 14:42:09 · 368 阅读 · 0 评论