摘要: 对于n个顶点的连通网可以建立许多包含n-1条通信线路且各个城市互相连通的连通网,该通信网称为图的一棵生成树。找寻一颗树上各边权之和最小的生成树,就是最小生成树Prim和Kruskal算法是使用贪心算法设计策略的典型,并且都会生成一个最优解。主要利用了最小生成树的一条很重要的性质:假设G=(V,E)是一个连通网,U是顶点集V中的一个非空子集。若(u,v)是一条具有最小权值的边,其中u∈U,v∈V-U,则必存在一颗包含边(u,v)的最小生成树。 阅读全文
posted @ 2012-10-10 21:43 zhouqian7890 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 源代码#include <stdlib.h>#include <stdio.h>#include <string.h>#include <malloc.h>struct HtNode{ double weight; int parent,lchild,rchild;};struct HtTree{ HtNode* ht; int root;};typedef struct HtTree* PHtTree;//构造有n个节点的哈夫曼树PHtTree Huffman (int n,int* w){ PHtTree pht; HtNode* ht; / 阅读全文
posted @ 2012-10-01 14:16 zhouqian7890 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 选出最小和次小p1=p2=0; //相关变量赋初值 min1=min2=1000;//相当于一个大数 for(j=0;j<n+i;j++) { if(pht->ht[j].parent==0) { if(pht->ht[j].weight<min1) { min1=pht->ht[j].weight; p1=j; } } } for(j=0;j<n+i;j++) { if(pht->ht[j].parent==0) { if((pht->ht[j].weight>min1)&&(pht->ht[j].weight< 阅读全文
posted @ 2012-10-01 14:15 zhouqian7890 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 哈夫曼编码是一种编码方式,属于可变字长编码(VLC)的一种,该编码方式是数学家D.A.Huffman于1952年提出的,是用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式,称之为最佳编码哈夫曼编码是广泛用于数据文件压缩的十分有效的编码方式,其压缩率通常在20%~90%之间,JPEG就是用哈夫曼编码压缩的任何一个字符的编码都不能使其他字符编码的前缀,否则译码时将产生二义性哈夫曼算法的构造思想及设计1.构造思想将所要编码的字符作为叶子节点,在文件中使用频率作为叶子节点的权值,以自底向上的方式、通过n-1次的"合并"运算后构造出最终所要求的树核心思想:让权值 阅读全文
posted @ 2012-10-01 14:12 zhouqian7890 阅读(1345) 评论(0) 推荐(0) 编辑
摘要: 按各个顶点与源之间路径长度的递增次序,生成源点到各个顶点的最短路径的方法算法设计n:顶点个数u:源点C[n][n]:带权邻接矩阵dist[]:记录某顶点与源点u的最短路径长度p[]:记录某顶点到源点的最短路径上的该顶点的前驱顶点void Dijkstra(int n,int u,float dist[],int p[],int C[n][n]){ //如果s[i]等于true,说明顶点i已加入集合S;否则,顶点i属于集合V-S; bool s[n]; for(int i=1;i<n;i++) {//初始化源点u到各个顶点之间的最短路径长度 dist[i]=C[u][i]; s[i]=fa 阅读全文
posted @ 2012-09-27 16:41 zhouqian7890 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 最优子结构性质当一个问题的最优解一定包含其子问题的最优解时,称此问题具有最优子结构性质在分析问题是否具有最优子结构性质时,通常先设出问题的最优解,给出子问题的解一定是最优的结论。然后,采用反证法证明“子问题的解一定是最优的”结论成立反证法证明思路:设原问题的最优解导出的子问题的解不是最优的,然后在这个假设下可以构造出比原问题的最优解更好的解,从而导致矛盾贪心子结构性质所求问题的整体最优解可以通过一系列局部最优的选择获得,即通过一系列的逐步局部最优选择使得最终的选择方案是全局最优的会场安排问题选择方案:每次从剩下未安排的会议中选择具有最早结束时间且不会与已安排的回忆重叠的会议来安排实现: #in 阅读全文
posted @ 2012-09-25 13:20 zhouqian7890 阅读(143) 评论(0) 推荐(0) 编辑