摘要: 1 #include "stdio.h" 2 #include "stdlib.h" 3 struct edge 4 { 5 int m; 6 int n; 7 int d; 8 }a[5010]; 9 int cmp(const void *a,const void *b... 阅读全文
posted @ 2015-05-26 17:43 niceforbear 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或Prim(普里姆)算法求出。应用:例如要在n个城市之间铺设光缆,主要目标是要使这n个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个... 阅读全文
posted @ 2015-05-26 00:42 niceforbear 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: 图的表示方法通常有四种:数组表示,邻接表,十字链表,邻接多重表。邻接表是图的一种链式存储结构。十字链表是有向图的另一种链式存储结构。邻接多重表是无向图的一种链式存储结构。====================================================邻接表邻接表中有两种节点,... 阅读全文
posted @ 2015-05-26 00:38 niceforbear 阅读(2245) 评论(0) 推荐(1) 编辑
摘要: 如下图所示,G1是有向图,G2是无向图,每个数据元素称为顶点,在有向图中,从V1到V3称为一条弧,V3到V1为另一条弧,V1称为弧尾,V3称为弧头,在无向图中,从V1到V3称为一条边。有n个顶点,1/2n(n-1)条边的无向图称为完全图,有n(n-1)条弧有向图称为有向完全图,有很少条边或图称为稀疏... 阅读全文
posted @ 2015-05-26 00:22 niceforbear 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 表达式求值问题,例如输入表达式4+(3-1)-6/2+5*7,结果是38。通过二叉树以及其遍历进行实现。 阅读全文
posted @ 2015-05-26 00:20 niceforbear 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 堆堆:经过排序的完全二叉树,其中任一非叶子节点的值均不大于(或不小于)其左孩子和右孩子结点的值。最大堆和最小堆是二叉堆的两种形式。最大堆:根节点的键值是所有堆结点键值中最大者。最小堆:根节点的键值是所有堆结点键值中最小者。最大-最小堆:集结了他俩的优点。是最大层和最小层交替出现的二叉树,即最大层节点... 阅读全文
posted @ 2015-05-26 00:15 niceforbear 阅读(154) 评论(0) 推荐(0) 编辑