搜索一个图是有序地沿着图的边访问所有定点, 图的搜索算法可以使我们发现很多图的结构信息, 图的搜索技术是图算法邻域的核心。
e...
分类:
其他好文 时间:
2014-07-09 10:30:48
阅读次数:
233
#include
using namespace std;
int partition(int *a,int p,int r)
{
int x=a[r];
int i=p-1;//note i important which is used for
//storage the number smaller than flag x=a[r]
for (int j=p;j<r;j++...
分类:
其他好文 时间:
2014-07-08 21:06:59
阅读次数:
232
堆数据结构是一种数组对象,它可以被视为一颗完全二叉树,树中每个节点和数组中存放该节点值的那个元 素对应。如果表示堆的数组为A,那么树的根为A[1]。
一、 堆
1. 表示堆的数组A是一个具有两个属性的对象:length(A)是数组中的元素个数,heap-size(A)是存放在A中的堆的元素个数;A[heap-size(A)]之后的元素都不属于相应的堆。也就是:Heap-size(A)。
2....
分类:
其他好文 时间:
2014-07-08 20:23:53
阅读次数:
222
一、 快速排序的描述
1、 快速排序是一种原地排序的算法,最坏情况下的时间复杂度为Θ(n^2),期望的运行时间为Θ(n logn),且其中隐含的常数因子较小。
2、 快速排序分三个步骤:
分解:数组A[p...r]被划分成两个数组A[p...q-1]和A[q+1...r],使得A[p...q-1]中的元素都小于等于A[q],A[q+1...r]中的元素都大于等于A[q]。下标q在这个划分过程...
分类:
其他好文 时间:
2014-07-08 15:31:28
阅读次数:
203
之前我们介绍了几种O(nlgn)的排序算法:快速排序、合并排序和堆排序,本节我们介绍基于比较的排序算法的下界以及几个线性时间的排序算法——计数排序、基数排序、桶排序。...
分类:
其他好文 时间:
2014-07-08 14:10:28
阅读次数:
243
摘自京东网友的《算法导论》回复: 26章讲网络流算法,总共用了35页(翻译过来的中文版),使用了10组演示图片,总共使用了64行伪代码;国内的那本知名教材,讲解同样内容的网络流算法,用了40页,4张图片,没有一张图片是用来演示算法执行流程的,最让我吃惊的是,在40页的算法讲解中,C++代码超过了.....
分类:
其他好文 时间:
2014-07-06 17:20:57
阅读次数:
162
记录学习点滴,菜鸟成长记接触算法是研究生期间做项目时,需要编写一些诸如GA、QGA的时候,第一次使用“排序”还是用的Java自带的Comparator接口。后来买了《算法导论》来看,发现果然所有知识都是有专业壁垒的,简单的一个问题尽然蕴藏着如此多的思想,发现此简直欣喜无比,遂决定要好好研究研究。只有...
分类:
其他好文 时间:
2014-07-06 14:10:18
阅读次数:
145
搜索树数据结构支持许多动态集合操作,如search(查找)、minmum(最小元素)、maxmum(最大元素)、predecessor(前驱)、successor(后继)、insert(插入)、delete(删除),这些都是基本操作,可以使用一颗搜索树当做一个字典或者一个优先队列。
12.1、什么事二叉搜索树
二叉搜索树是以一棵二叉树来组织的,可以用一个链表数据结构来表示,也叫二叉...
分类:
其他好文 时间:
2014-07-03 18:02:21
阅读次数:
231
在《算法导论》第12和13章为基础上实现了AVL树,关键部分有注释。...
分类:
其他好文 时间:
2014-07-03 13:22:56
阅读次数:
179
实现持久动态集合的方式。算法导论上面的问题。代码完全是自己写的。...
分类:
其他好文 时间:
2014-06-30 07:55:42
阅读次数:
156