挑战程序设计竞赛(算法和数据结构)——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实现

挑战程序设计竞赛(算法和数据结构)——3.6希尔排序的JAVA实现

挑战程序设计竞赛(算法和数据结构)——3.6希尔排序的JAVA实现