最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實(shí)現(xiàn)迪杰斯特拉和弗洛伊德算法

 更新時(shí)間:2020年05月27日 15:06:14   作者:BUAA-XX  
這篇文章主要為大家詳細(xì)介紹了基于Python實(shí)現(xiàn)迪杰斯特拉和弗洛伊德算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

圖搜索之基于Python的迪杰斯特拉算法和弗洛伊德算法,供大家參考,具體內(nèi)容如下

Djstela算法

#encoding=UTF-8
MAX=9
'''
Created on 2016年9月28日
@author: sx
'''
b=999
G=[[0,1,5,b,b,b,b,b,b],\
 [1,0,3,7,5,b,b,b,b],\
 [5,3,0,b,1,7,b,b,b],\
 [b,7,b,0,2,b,3,b,b],\
 [b,5,1,2,0,3,6,9,b],\
 [b,b,7,b,3,0,b,5,b],\
 [b,b,b,3,6,b,0,2,7],\
 [b,b,b,b,9,5,2,0,4],\
 [b,b,b,b,b,b,7,4,0]]
P=[]
D=[]
def Djstela(G,P,D):
 final=[]
 for i in range(0,len(G)):
 final.append(0)
 D.append(G[0][i])
 P.append(0)
 D[0]=0
 final[0]=1
 k=0
 for v in range(1,len(G)):
 min=999
 for w in range(0,len(G)):
  if final[w]==0 and D[w]<min:
  k=w
  min=D[w]
 final[k]=1 
 for t in range(0,len(G)):
  if min+G[k][t]<D[t]:
  D[t]=min+G[k][t]
  P[t]=k
 print("\n最短路徑\n",D,"\n","\n前一個選擇\n",P)
def search(x):
 print("選擇的終點(diǎn)",x,"最短路徑",D[x]) 
print("鄰接矩陣\n")
for i in range(0,9):
 print(G[i])
Djstela(G, P, D)
q=input("\n請輸入終點(diǎn)")
search(int(q))

FLOYD算法

#encoding=UTF-8
'''
Created on 2016年9月28日
@author: sx
'''
t=0
b=999
G=[[0,1,5,b,b,b,b,b,b],\
 [1,0,3,7,5,b,b,b,b],\
 [5,3,0,b,1,7,b,b,b],\
 [b,7,b,0,2,b,3,b,b],\
 [b,5,1,2,0,3,6,9,b],\
 [b,b,7,b,3,0,b,5,b],\
 [b,b,b,3,6,b,0,2,7],\
 [b,b,b,b,9,5,2,0,4],\
 [b,b,b,b,b,b,7,4,0]]
P=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],\
 [0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],\
 [0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]]
D=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],\
 [0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],\
 [0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]]
def Floyd(G,P,D):
 t=0
 for u in range(0,len(G)):
 for s in range(0,len(G)):
  D[u][s]=G[u][s]  
  P[u][s]=s
 for k in range(0,len(G)):
 for v in range(0,len(G)):
  for w in range(0,len(G)):
  if D[v][w]>D[v][k]+D[k][w]:
   t=t+1
   D[v][w]=D[v][k]+D[k][w]
   P[v][w]=P[v][k]  
Floyd(G, P, D)
def search(s,u):
 lenth=D[s][u]
 print("路徑長度為",lenth)
 f=P[s][u]
 foot=[s,f]
 if f==u:
 print("無需規(guī)劃,0步")
 while f!=u:
 f=P[f][u] 
 foot.append(f) 
 for i in range(0,len(foot)):
 if i==0:
  print("起 點(diǎn)____",foot[i])
 elif i==len(foot)-1:
  print("終 點(diǎn)____",foot[i],"步長___",G[foot[i-1]][foot[i]])
 else:
  print("第",i,"點(diǎn)____",foot[i],"步長___",G[foot[i-1]][foot[i]])
print("鄰接矩陣")
for i in range(0,9):
 print(G[i])
s=input("請輸入起點(diǎn)0-8\n")
u=input("請輸入終點(diǎn)0-8\n")
Floyd(G, P, D)
search(int(s),int(u))

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)可以斷點(diǎn)續(xù)傳和并發(fā)的ftp程序

    python實(shí)現(xiàn)可以斷點(diǎn)續(xù)傳和并發(fā)的ftp程序

    斷點(diǎn)續(xù)傳和并發(fā)是現(xiàn)在很多ftp程序都支持的功能,如果我們用python如何來做斷點(diǎn)續(xù)傳和并發(fā)了,今天來看一篇python實(shí)現(xiàn)斷點(diǎn)續(xù)傳和并發(fā)的ftp程序例子吧,具體如下。
    2016-09-09
  • Python?os和os.path模塊詳情

    Python?os和os.path模塊詳情

    這篇文章主要介紹了Python?os和os.path模塊詳情,文章圍繞主題展開詳細(xì)的相關(guān)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-04-04
  • python標(biāo)準(zhǔn)日志模塊logging的使用方法

    python標(biāo)準(zhǔn)日志模塊logging的使用方法

    python的標(biāo)準(zhǔn)庫里的日志系統(tǒng)從Python2.3開始支持。只要import logging這個模塊即可使用。
    2013-11-11
  • python自動獲取微信公眾號最新文章的實(shí)現(xiàn)代碼

    python自動獲取微信公眾號最新文章的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python自動獲取微信公眾號最新文章,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python排序算法的簡單實(shí)現(xiàn)方法

    python排序算法的簡單實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于python排序算法的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • wxPython事件驅(qū)動實(shí)例詳解

    wxPython事件驅(qū)動實(shí)例詳解

    這篇文章主要介紹了wxPython事件驅(qū)動機(jī)制,以一個獲取當(dāng)前位置信息的實(shí)例形式講述了wxPython事件驅(qū)動機(jī)制及其相關(guān)函數(shù)的用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-09-09
  • 如何使用Cython對python代碼進(jìn)行加密

    如何使用Cython對python代碼進(jìn)行加密

    這篇文章主要介紹了如何使用Cython對python代碼進(jìn)行加密,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python 串口通信的實(shí)現(xiàn)

    Python 串口通信的實(shí)現(xiàn)

    這篇文章主要介紹了Python的串口通信的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python matplotlib坐標(biāo)軸設(shè)置的方法

    python matplotlib坐標(biāo)軸設(shè)置的方法

    本篇文章主要介紹了python matplotlib坐標(biāo)軸設(shè)置的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Python切片操作實(shí)例分析

    Python切片操作實(shí)例分析

    這篇文章主要介紹了Python切片操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python切片相關(guān)的正向、反向、步長等使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-03-03

最新評論

茌平县| 满城县| 大理市| 嘉荫县| 汉川市| 通化市| 宁城县| 正定县| 漠河县| 区。| 涟源市| 渝北区| 忻城县| 襄樊市| 信丰县| 贡山| 石林| 日土县| 丁青县| 随州市| 榆社县| 赤壁市| 广西| 巴东县| 潜山县| 溆浦县| 广德县| 上饶市| 台南县| 大悟县| 邻水| 南汇区| 商水县| 祥云县| 灵武市| 方正县| 西充县| 秀山| 泽州县| 呼和浩特市| 松溪县|