'''
示例結果:
init
[1, 0, 0, 0, 0, 0] [0, 30, 15, 1000, 1000, 1000] [0, 0, 0, 0, 0, 0]
process
[1, 1, 1, 1, 1, 1] [0, 25, 15, 50, 40, 30] [2, 1, 5, 4, 3, 0]
'''max_num = 1000
v_len = 6 #頂點數
s = [0 for i in range(v_len)] #作為mark容器,檢驗頂點是否已經被新增
path = s[:] #儲存新增頂點過程
dist = #放置到每個頂點的最短長度
'''鄰接矩陣'''
edge = [
[0,30,15,max_num,max_num,max_num],
[5,0,max_num,max_num,20,30],
[max_num,10,0,max_num,max_num,15],
[max_num,max_num,max_num,0,max_num,max_num],
[max_num,max_num,max_num,10,0,max_num],
[max_num,max_num,max_num,30,10,0]
]def init(start):
for i in range(0,v_len):
dist[start] = 0
s[start] = 1
path[0] = start
print 'init\n',s,dist,path #初始化結果顯示
def find_min(): #開始處理
print 'process'
u = 0
for i in range(0,v_len-1):
mini = max_num
for j in range(0,v_len):
if(not s[j] and dist[j]u = j
mini = dist[j]
s[u] = 1
path[i] = u
for k in range(0,v_len):
if(not s[k] and edge[u][k]dist[k] = dist[u] + edge[u][k]
print s,dist,path; #顯示結果
def py_dijkstra(start):
init(start)
find_min()
if(__name__=="__main__"):
py_dijkstra(0) #以0為源點
python怎樣編寫 PYTHON怎樣編寫自動化
1級2018 09 18 回答 就直接寫指令碼,給你舉給例子 編寫工具 1.設計目標 首先說一下我要工具的功能 遍歷某個目錄下包括其下子目錄中所有指定的字尾檔案,然後為這些檔案的頭部插入指定的字串。2.使用場景 設計這樣的工具起因是我最近在將之前 csdn 中的部落格搬運到自己的 hexo 部落格空...
python編寫庫存管理 python編寫商品管理
1 實現乙個商品管理的程式。輸出1,新增商品 2 刪除商品 3 檢視商品 新增商品 商品的名稱 商品如果已經存在的話,提示商品商品已經存在 商品的 x 數量只能為大於0的整數 商品的數量 數量只能為大於0的整數 2 刪除商品 輸入商品名稱 iphone 如果輸入的商品名稱不存在,要提示不存在 3 檢...
python編寫規範
每行 盡量不超過 80 個字元 在特殊情況下可以略微超過 80 但最長不得超過 120 理由 簡單說,自然語言使用雙引號,機器標示使用單引號,因此 裡 多數應該使用 單引號 class a def init self pass def hello self pass def main pass 正確...