数据结构第八周笔记——图(下2)(慕课浙大版本--XiaoYu)

简介: 图之习题选讲

图之习题选讲-旅游规划

图习题.1 核心算法

题意理解

  1. 城市为结点
  2. 公路为边
  1. 权重1:距离
  2. 权重2:收费

网络异常,图片无法展示
|
红色是起点,蓝色是终点。;绿色字体是距离,紫色字体是收费

  1. 单源最短路
  1. Dijkstra算法 ——距离 (一个结点一个结点往那个集合里面去收集,每收进来一个就要检查以下其他结点距离有没有被新进来的结点影响,得到更短的距离就刷新掉,得不到就保持原样)
  2. 等距离时按收费更新

核心算法

最基础版本的Dijkstra算法

voidDijkstra( Vertexs )

{

   while(1){

       V=未收录顶点中dist最小者;

       if( 这样的V不存在 )

           break;

       collected[V] =true;

       for( V的每个邻接点W )

           if( dist[V] +E<v,w><dist[W] ){//Vd点的加入使我们得到一个更短的w的距离

               dist[W] =dist[V] +E<v,w>;//更新距离

               path[W] =V;//更新最短路径

           }

   }

}

根据基础进行改良过后的

最基础版本的Dijkstra算法

voidDijkstra( Vertexs )

{

   while(1){

       V=未收录顶点中dist最小者;

       if( 这样的V不存在 )

           break;

       collected[V] =true;

       for( V的每个邻接点W )

           if( dist[V] +E<v,w><dist[W] ){//Vd点的加入使我们得到一个更短的w的距离

               dist[W] =dist[V] +E<v,w>;//更新距离

               path[W] =V;//更新最短路径,s走到V的所有费用加上V走到W这条边的费用

           }

       elseif((dist[V]+E<v,w>==dist[W]) && (cost[V] +C<v,w><cost[W])){//等长最短路径并且这条路径上面的新费用比原来的费用小的话那也要更新路径

           cost[W] =cost[V] +C<v,w>;//更新费用

           path[w] =V;//更新路径

       }

   }

}

图习题.2 其他推广

其他类似问题

  1. 要求最短路径有多少条?
  1. count[s] = 1;//计数器的作用
  2. 在要求数最短路径有多少条的问题中,如果找到更短路,则count[W]应该更新为要求边数最少的最短路:count[W]=count[V]
  3. 在要求数最短路径有多少条的问题中,如果找到等长路,则count[W]应该更新为:count[W]+=count[V]
  1. 要求边数最少的最短路
  1. 费用初始化怎么做?初始化为0
  2. count[s] = 0;
  3. 如果找到更短路:count[W]  = count[V] + 1;
  4. 如果找到等长路:count[W] = count[V] + 1;//count[V]加上新的权重
目录
相关文章
|
4天前
|
算法 Java
【Java高阶数据结构】图-图的表示与遍历(下)
【Java高阶数据结构】图-图的表示与遍历
13 1
|
4天前
|
存储 算法
数据结构作业4-图
数据结构作业4-图
11 4
|
4天前
|
存储 算法 搜索推荐
【Java高阶数据结构】图补充-拓扑排序
【Java高阶数据结构】图补充-拓扑排序
7 1
|
4天前
|
算法 Java
【Java高阶数据结构】图的最短路径问题(下)
【Java高阶数据结构】图的最短路径问题
6 1
|
4天前
|
算法 Java
【Java高阶数据结构】图的最短路径问题(上)
【Java高阶数据结构】图的最短路径问题
6 1
|
4天前
|
机器学习/深度学习 存储 Java
【Java高阶数据结构】图-图的表示与遍历(上)
【Java高阶数据结构】图-图的表示与遍历
10 2
|
4天前
|
C语言
【C语言/数据结构】排序(快速排序及多种优化|递归及非递归版本)
【C语言/数据结构】排序(快速排序及多种优化|递归及非递归版本)
11 0
|
4天前
|
存储 算法 搜索推荐
数据结构期末复习(5)图
数据结构期末复习(5)图
9 0
|
4天前
|
存储 机器学习/深度学习 移动开发
数据结构 第5 6 章作业 图 哈希表 西安石油大学
数据结构 第5 6 章作业 图 哈希表 西安石油大学
21 0
|
4天前
|
存储 机器学习/深度学习 算法
上机实验三 图的最小生成树算法设计 西安石油大学数据结构
上机实验三 图的最小生成树算法设计 西安石油大学数据结构
21 1