
Algorithm
iteye_14062
这个作者很懒,什么都没留下…
展开
-
Fibonacci heap
斐波那契堆的结构较二项堆更松散,关键思想在于尽量延迟对堆的维护。A [b]Fibonacci heap[/b] is a collection of rooted trees that are min-heap ordered.根节点不需要顺序,用一个H.min指向最小的[img]http://dl.iteye.com/upload/picture/pic/90997/4301e1...2011-05-25 16:41:08 · 167 阅读 · 0 评论 -
Binomial Queue
前面堆排序已经描述了二叉堆的基本操作,插入(O(logn))、删除(O(logn))和查询最大最小值(O(1)),但是两个二叉堆合并时却很不方便,一个一个调用插入方法完成合并需要O(n)。[b]Binomial Queue[/b](二项队列):一个链表数组,每个元素指向一棵二项树,数组元素按二项树大小顺序排列。[b]Binomial Tree(二项树) 是什么 图解[/b][i...2011-05-12 16:29:41 · 440 阅读 · 0 评论 -
红黑树
A [b]red-black tree[/b] is a binary search tree with one extra bit of storage per node: its color, which can be either RED or BLACK.红黑树性质:1. The root is black.2. If a node is red, then both it...2011-05-09 15:33:41 · 99 阅读 · 0 评论 -
BST的插入和删除
[b]Binary Search Tree[/b]由于经常的插入删除操作会变得越来越不平衡,导致运行效率低下,但删除操作还是蛮漂亮的。本代码来自《算法导论》,也可以用递归做,但肯定没有迭代效率高。[code="c"]typedef int ElementType;typedef struct TreeNode{ ElementType key; struct Tre...2011-05-06 16:40:15 · 236 阅读 · 0 评论 -
Hash Table
散列用来以常数时间实现 Insert、Find 和 Delete 操作。With [b]direct addressing[/b], an element with key k is stored in slot k.(相当于数组)With [b]hashing[/b], this element is stored in slot h(k); that is, we use a ha...2011-05-06 11:10:35 · 100 阅读 · 0 评论 -
中缀表达式转换为后缀表达式
中缀表达式:a+b*c+(d*e+f)/g这是人类擅长的表达式,可是计算机却很为难。后缀表达式:abc*+de*f+g/+读到运算数就压栈,读到运算符弹出两个运算数计算,计算结果再压栈,反复...计算机就很容易计算表达式了。问题:中缀表达式如何转换成后缀表达式?[b]1. 读到运算数时,直接输出。2. 读到“(”时,压栈。3. 读到“+ - * /”时,弹出...2011-05-03 15:55:00 · 168 阅读 · 0 评论 -
最大子序列和
《算法导论》第三版讲分治时引用了一个很好的例子,股票的涨幅。而其本质是与《数据结构与算法分析》的开篇一样的,最大子序列和问题。问题描述:已知每天股票的价格,选择一个买入点和一个抛出点,使得获取利润最大。问题转换:一个整数序列 A[N](可能有负),求 A[i] 加到 A[j] 的最大值(0 = left; i--) { leftBorderSum += A[i]; ...2011-04-25 16:19:02 · 106 阅读 · 0 评论 -
排序算法
排序算法不仅要考虑效率,还要注意一个易被忽略的因素:稳定性(stable)。[b]Any comparison sort algorithm requires (nlogn) comparisons in the worst case.[/b](decision tree)[b]一、插入排序(Insertion Sort)[/b],《算法导论》里那张摸牌的图解释的很形象。稳定的,时...2011-04-20 10:59:15 · 236 阅读 · 0 评论 -
图论基础算法
[b]邻接表(adjacency lists)[/b]是表示图的标准方法。如果是稠密图,可以使用[b]邻接矩阵(adjacency matrix)[/b]。[b]BFS(Breadth First Search)[/b],广度优先搜索[b]DFS(Depth First Search)[/b],深度优先搜索[b]Topological sort[/b],拓扑排序适用条件...2011-05-26 14:59:20 · 291 阅读 · 0 评论 -
Disjoint Set
[b]Disjoint Set[/b],不相交集,也叫并查集Union/Find算法:Find:它返回包含给定元素的集合。Union:合并两个集合。用数组来模拟树。初始化时,数组元素为0。正数的表示父亲是谁,如图:[img]http://dl.iteye.com/upload/picture/pic/90305/443e04d9-af35-385c-b4cd-3e2...2011-05-16 10:06:21 · 246 阅读 · 0 评论