關於迪傑斯特拉演算法的複習

2021-06-07 10:06:49 字數 619 閱讀 5484

下午去開無聊的會,在腦海裡溫習一些經典的演算法。由於本人是乙隻菜鳥,程式設計習慣惡劣所以**不整潔,路過的求不噴。

所用到的主要是2個一維度的陣列,乙個為renewlist,表內儲存從vo節點到其他各個節點的值,每次迴圈都要更新一次, 當完成迴圈後改陣列所得即為輸出的最短路徑。

ingroup是乙個用0/1來表示節點是否在group中的陣列,用其所在位置表示節點的序號,v0節點對應的就是ingroup[0].

#include

using namespace std;

#define size 20

int ingroup[size];

int map[size][size];

void readin(int n)    //n為節點的數量

}int chosevex(int n,int *a)  //第乙個引數為節點數 第二個引數為renewlist

void add(int it)

void renew(int n,int *a,int k)  //更新renewlist}}

void show(int *a,int n)

readin(n);

diji(n);

return 0;

}

迪傑斯特拉演算法

if object id t test is not null drop table t test gocreate table dbo t test id int identity 1,1 not null primary key,自增字段,無意義 header varchar 500 第一點的名...

迪傑斯特拉演算法

dijkstra 迪傑斯特拉 演算法是典型的最短路徑路由演算法,用於計算乙個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴充套件,直到擴充套件到終點為止。dijkstra演算法 能得出最短路徑的最優解,但由於它遍歷計算的節點很多,所以效率低。dijkstra演算法是很有代表性的最短...

迪傑斯特拉演算法

迪傑斯特拉演算法用來計算圖中某一點到其他點的最短距離,這個圖可以是加權,也可以是無權的,距離指的是從一點到其它點所經過的邊的權重和 假設現在有乙個加權無向圖,我們要求節點1到其他點的最短距離 初始化圖arr 用乙個鄰接矩陣來表示一張圖,矩陣元素 初始化一維向量d,這個向量儲存的是其他點的最短距離,初...