- 博客(6)
- 收藏
- 关注
原创 图结构之拓扑排序(判断图中是否存在环)
//图的拓扑排序(使用改进过的顶点结点,添加一个入度域)bool topsort(ALGraph2* G) { int i, j, n; //n用来计数(还可以用来判断图中是否存在环) int stack[MAXSIZE], top = -1; //用来存放入度为0的顶点 ArcNode *p; //将入度为...
2018-12-14 17:03:38
1395
原创 图结构浅谈之深度优先遍历
//图的深度优先遍历void DFS(int v, ALGraph *G) { visited[v] = true; printf("%d ", G->adjlist[v].data); //访问 ArcNode *p = G->adjlist[v].first; //深度遍历 while (p!=NULL) ...
2018-12-14 16:59:47
233
原创 图结构浅谈之prim算法
prim算法(基于贪心的算法)#define n 10 //图中顶点的个数#define INF 100000000 //无穷大void prim(float MGraph[][n],int v0,int &sum) { int v, k, min; //v执行需要插入的结点,k执...
2018-12-14 16:57:19
240
原创 图结构浅谈之广度优先遍历
算法思想:图的广度优先遍历类似于树的广度优先遍历,与树不同的是图中可能存在环,所以需要用visited进行标记。其中最重要的操作是对边结点引出结点的检测、访问、入队操作。void BFS(int v, ALGraph *G) { ArcNode *p; int queue[MAXSIZE], front = 0, rear = 0; //初始化队列 vi...
2018-12-14 16:56:15
173
原创 算法浅谈之全排列问题
如何实现n个数的全排列?例题:给定一个整型数组,然后对这个数组进行全排列算法思路:(1) n个数据的全排列就是=(n-1)数据的全排列+(一个元素的前缀)(2) 出口:当只有一个元素的全排列时,则说明全排列结束,输出数组(3) 不断将每个元素作为第一个元素,然后将这个元素作为前缀,对其他元素进行全排列,等到出口输出数组,等到出口出去后还需还原数组。 将排列的数组用排列枚举树...
2018-05-07 13:28:46
565
原创 算法浅谈之动态规划问题
经典的动态规划问题(斐波那契数列)使用动态规划算法实现斐波那契数列(时间复杂度O(n)),使用穷举法实现斐波那契数列(时间复杂度O(2^n))如何使用动态规划实现斐波那契数列呢?算法思想:我们求解斐波那契数列,最先想到的当然是使用递归方法啦!但是我们来思考一个问题,如果我们要求解Fb(6) 我们可以看出,对于右边的数我们在左边已经求得,在使用递归算法的时候我们右边的数又重新计算了一次复杂度就乘以了...
2018-05-07 13:25:04
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人