贪心算法求最短路径,用Python实现
来源:互联网 发布:徐州管家婆软件 编辑:程序博客网 时间:2024/06/15 07:34
主要思想
首先找到离源点最近的点,然后以这个点为源点再进行迭代,重复以上步骤
#-*- coding: utf-8 -*-if __name__ =="__main__": n=0 print("请输入图中点的数量") n=input() juzhen=[[0 for i in range(n)] for m in range(n)] print("请依次输入矩阵") for i in range(n): for j in range(n): juzhen[i][j]=input() d=[0 for m in range(n)]#记录各个顶点到0的最短距离 p= [0 for m in range(n)]#记录最短路径要经过的点 use= [0 for m in range(n)]#记录是否已经求得最短路径 for i in range(n): d[i]=0; use[i]=0 p[i]=0 use[0]=1 for i in range(0,n): d[i]=juzhen[0][i]#初始化d[i]的值 for i in range(1,n): k=1 min=100000 for j in range(0,n):#首先找到目前最近的点 if (use[j]==0 and d[j]<min): min=d[j] k=j use[k]=1 for w in range(0,n):#围绕这个点进行迭代 if(use[w]==0 and min+juzhen[k][w]<d[w]): d[w]=min+juzhen[k][w] p[w]=k for i in range(0,n): print(d[i])
阅读全文
0 0
- 贪心算法求最短路径,用Python实现
- 单源最短路径---贪心法实现(Dijkstra算法)
- 单源最短路径---贪心法实现(Dijkstra算法)
- 贪心算法 迪杰斯特拉算法求最短路径
- 算法java实现--贪心算法--单源最短路径问题--Dijkstra算法
- 贪心算法实例 单源最短路径 Dijkstra算法(c++实现)
- python 贪心算法实现 斗地主发牌
- (贪心算法)单源最短路径
- 贪心算法-单源最短路径
- 单源最短路径--贪心算法
- 用c++代码实现贪心算法求解最短路径问题
- 贪心算法--Dijkstra单源最短路径
- 单源最短路径(贪心算法)
- 单源最短路径_贪心算法
- 贪心算法最短路径
- 贪心算法 - 单源最短路径 Dijkstra
- 贪心算法 Dijkstra 单源最短路径
- 贪心算法-Dijkstra单源最短路径
- MySQL
- Java反射机制详解
- ant脚本的一些使用
- JS中位置与大小的获取方法
- 二维码生成
- 贪心算法求最短路径,用Python实现
- C# 图灵机器人
- 使用JavaScript实现单击复选框实现全选与全不选功能并通过ajax实现批量删除功能
- Java数据类型
- java 检测class文件走哪个jar包的代码
- AndroidManifest合并原理
- 杭电-PID1012-u Calculate e
- AndroidStudio导入Eclipse项目出现Error:java.util.concurrent.ExecutionException
- python数据挖掘包Pandas基本操作