摘要: 1.解析Prim算法和Dijkstra算法非常类似,他们的伪码几乎相近,只是他们优先队列所排序的键值不同而已。Prim算法的键值为节点与集合S中顶点间的最轻边的权重,而在Dijkstra算法中,键值为由起始点到某节点的完整路径长度。在后面的博客中会说明最小生成树MST与最短路径的区别。2.代码实例#include<iostream> #include<malloc.h> #include<queue> #include <algorithm> #include<stdlib.h> #include<functional>u 阅读全文
posted @ 2011-06-16 20:14 xwdreamer 阅读(2370) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/whwjn/archive/2006/04/20/670852.aspx1.进程与线程进程和线程是两个相对的概念,通常来说,一个进程可以定义程序的一个实例(Instance)。在Win32中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,正是这个线程负责包含进程地址空间中的代码。实际上,一个进程可以包含几个线程,它们可以同时执行进程地址空间中的代码。为了做到这一点,每个线程有自己的一组CPU寄存器和堆栈。每个进程中至少有一个线程在执行其地址空间中的代码。如果没有线程执行进程地址空间中的代 阅读全文
posted @ 2011-06-16 02:26 xwdreamer 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 1.说明这个快速排序算法是对前面的快速排序算法QuickSort一种改进。只是修改了int Partition(int arry[],int start,int end)这个方法。2.思路仔细观察我们可以发现,我们前面Partition方法中,都需要swap(arry,start,end),但是这一步中有些步骤是可以省略的。在(<-end)过程中,碰到第一个小于等于pivot的元素时,只需要进行一次赋值arry[start]=arry[end];因为当前的arry[start]是值就是pivot;在(start->)过程中,碰到第一个大于等于pivot的元素之,只需要进行一次赋值a 阅读全文
posted @ 2011-06-16 01:59 xwdreamer 阅读(976) 评论(0) 推荐(0) 编辑