挑战程序设计竞赛(算法和数据结构)——13.1基于加权图的两类问题的描述
Posted 小乖乖的臭坏坏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了挑战程序设计竞赛(算法和数据结构)——13.1基于加权图的两类问题的描述相关的知识,希望对你有一定的参考价值。
最小生成树
- 树是没有环的图。在树中,任意顶点 r r r和 v v v之间必然存在着1条路径。
- 图 G = ( V , E ) G=(V,E) G=(V,E)的生成树 G = ( V ′ , E ′ ) G=(V',E') G=(V′,E′)是图 G G G的子图,它拥有图 G G G所有的顶点 V ( V = V ′ ) V(V=V') V(V=V′),且保证自身为树的前提下拥有尽可能多的边。图的生成树可通过深度优先搜索和广度优先搜索得到,且结果不唯一。
- 最小生成树是指各边权值总和最小的生成树。
最短路径
在加权图 G = ( V , E ) G=(V,E) G=(V,E)中,求给定顶点 s s s, d d d之间各边权值总和最小的路径,这就是最短路径问题。这个问题主要分为以下两类:
- 单源最短路径问题。在图 G G G中,求给定顶点 s s s到其他所有顶点 d i d_i di之间的最短路径。
- 全点对间最短路径。在图
G
G
G中,求“每一对顶点”之间的最短路径
对于各边权值非负的加权图 G = ( V , E ) G=(V,E) G=(V,E),如果顶点 s s s到 G G G所有顶点都存在路径,那么一定存在一颗以 s s s为根,包含 s s s到 G G G所有顶点字段路径的生成树 T T T。这种树就称为最短路径生成树。
以上是关于挑战程序设计竞赛(算法和数据结构)——13.1基于加权图的两类问题的描述的主要内容,如果未能解决你的问题,请参考以下文章
挑战程序设计竞赛(算法和数据结构)——分割(下)&快速排序的JAVA实现
挑战程序设计竞赛(算法和数据结构)——19.2九宫格拼图问题的JAVA实现
挑战程序设计竞赛(算法和数据结构)——7.1归并排序JAVA实现
挑战程序设计竞赛(算法和数据结构)——16.13线段相交问题(曼哈顿算法)的JAVA实现