- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【数据机构(C语言描述)】第七章 图
7.6 两点之间的 最短路径问题 求从某个源点到其余各点的最短路径 a b c d e g f 19 5 14 18 27 16 8 21 3 12 7 例如: a e d c b g f 14 8 5 3 16 21 所得生成树权值和 = 14+8+3+5+16+21 = 67 在生成树的构造过程中,图中 n 个顶点分属两个集合:已落在生成树上的顶点集 U 和尚未落在生成树上的顶点集V-U ,则应在所有连通U中顶点和V-U中顶点的边中选取权值最小的边。 一般情况下所添加的顶点应满足下列条件: U V-U 设置一个辅助数组,对当前V-U集中的每个顶点,记录和顶点集U中顶点相连接的代价最小的边: struct { VertexType adjvex; // U集中的顶点序号 VRType lowcost; // 边的权值 } closedge[MAX_VERTEX_NUM]; a b c d e g f 19 5 14 18 27 16 8 21 3 12 7 a e d c b a a a 19 14 18 14 例如: e 12 e e 8 16 8 d 3 d d 7 21 3 c 5 5 19 m m 14 m 18 19 5 7 12 m m m 5 3 m m m m 7 3 8 21 m 14 12 m 8 m 16 m m m 21 m 27 18 m m m 16 27 void MiniSpanTree_P(MGraph G, VertexType u) { //用普里姆算法从顶点u出发构造网G的最小生成树 k = LocateVex ( G, u ); for ( j=0; jG.vexnum; ++j ) // 辅助数组初始化 if (j!=k) closedge[j] = { u, G.arcs[k][j].adj }; closedge[k].lowcost = 0; // 初始,U={u} for (i=0; iG.vexnum; ++i) { } 继续向生成树上添加顶点; k = minimum(closedge); // 求出加入生成树的下一个顶点(k) printf(closedge[k].adjvex, G.vexs[k]); // 输出生成树上一条边 closedge[k].lowcost = 0; // 第k顶点并入U集 for (j=0; jG.vexnum; ++j) //修改其它顶点的最小边 if (G.arcs[k][j].adj closedge[j].lowcost) closedge[j] = { G.vexs[k], G.arcs[k][j].adj }; 具体做法: 先构造一个只含 n 个顶点的子图 SG,然后从权值最小的边开始,若它的添加不使SG 中产生回路,则在 SG 上加上这条边,如此重复,直至加上 n-1 条边为止。 考虑问题的出发点: 为使生成树上边的权值之和达到最小,则应使生成树中每一条边的权值尽可能地小。 克鲁斯卡尔算法的基本思想: a b c d e g f 19 5 14 18 27 16 8 21 3 12 7 a e d c b g f 14 8 5 3 16 21 例如: 7 12 18 19 算法描述: 构造非连通图 ST=( V,{ } ); k = i = 0; // k 计选中的边数 while (kn-1) { ++i; 检查边集 E 中第 i 条权值最小的边(u,v); 若(u,v)加入ST后不使ST中产生回路, 则 输出边(u,v); 且 k++; } 普里姆算法 克鲁斯卡尔算法 时间复杂度 O(n2) O(eloge) 稠密图 稀疏图 算法名 适应范围 比较两种算法 7.5 重(双)连通图 和关节点 若从一个连通图中删去任何一个顶点及其相关联的边,它仍为一个连通图的话,则该连通图被称为重(双)连通图。 问题: 若连通图中的某个顶点和其相关 联的边被删去之后,该连通图被分割 成两个或两个以上的连通分量,则称 此顶点为关节点。 没有关节点的连通图为双连通图。 如何判别给定的连通图是
您可能关注的文档
- 【Good系列】挺全的数学公式表.pdf
- 【Pivot学员说】爱学术,爱骑行,学长教你如何搞定伯克利PhD.docx
- 【上海海归招聘会】分享阿里巴巴面试心得(成功拿到实习offer).docx
- 【人人早报】596期:国家队入局,微信支付宝等将不能再交水电费?.pdf
- 【全国百强校】四川省成都市第七中学2015-2016学年高二上学期入学考试化学试题(pdf版).pdf
- 【五年级】-奥数-阴影部分面积计算-01.docx
- 【原创】UltraNav超详细 中文使用 说明 Thinkpad触摸板 指点杆设置.pdf
- 【TP系列】平面包络环面蜗杆减速机.pdf
- 【商标侵权类】文字相同服务不同是否侵权.docx
- 【图】仰卧起坐的标准动作过程图解如何做出正确的仰卧起坐.pdf
- 【数学】1.2.2 基本初等函数的导数公式及导数的运算法则 课件(人教A版选修2-2).ppt
- 【杨小天编】05-整式的乘除与因式分解综合复习测试2及答案.pdf
- 【步步高】2014高考数学二轮专题突破(文科)专题一 第3讲.ppt
- 【电动力学课件】2-1-2 标势及其方程-唯一性定理.pdf
- 【疾病名】过敏性支气管肺曲霉病【英文名】allergic bro.pdf
- 【精华版】第7章__一元一次不等式与不等式组_讲义+习题 2.doc
- 【算法16】递归算法的时间复杂度终结篇.pdf
- 【考点训练】第19章 四边形 19.1 平行四边形:三角形中位线定理-1.doc
- 【评分标准】中山大学考研复试各项内容评分标准.pdf
- 【金赐贵金属分析】成功的交易者和概率思维.doc
文档评论(0)