資料結構 djskstra 演算法

2021-07-25 11:58:20 字數 902 閱讀 6412

//這裡我給出**。演算法思想。需要自己去理解。我自己就是新手。我掌握就是先會畫圖。理解思想。接著就去理解**。吃透**。

#include

#define infinity  65535

#define maxvex  10

typedef struct 

graphtype;

void create(graphtype*);//建立

int located(graphtype*,char);

void dijkstra(graphtype*g,int*p,int*d,int v0);

int main(void)

int located(graphtype*g,char v)

}return k;

}void create(graphtype*g)

printf("親輸入相關聯的頂點及其他們的直接的權值:");

for(i=0;iarcnum;i++)

for(i=0;ivexnum;i++)

return ;

}void dijkstra(graphtype*g,int*p,int*d,int v0)

d[v0]=0;//v0噠v0的最短路徑為0.

final[v0]=1;//v0與v0不需要求最短路徑。

for(v=1;vvexnum;v++)//開始主迴圈。找到除了v0以外的其他點點。

}final[k]=1;//與最近的點點有了最短路徑。

for(w=0;wvexnum;w++)//修正當前最短的距離}}

for(w=0;wvexnum;w++)

printf("《-%c",g->vertexs[v0]);//輸出源節點頂點

printf("\n");}}

return ;

}

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...

資料結構與演算法 演算法 演算法和資料結構

資料結構與演算法 演算法 好吧,在這裡,您被優秀或優秀的軟體開發人員所隔開。在這種情況下,我會告訴您一開始或至少在我的情況下,並且我知道大多數時候,對於我認識的大多數人,您會覺得自己是乙個無能的人或白痴。基本上,我怎麼可能不理解這一點,然後您會感到沮喪。在這種情況下,我會告訴您情況並不像您想的那麼糟...

資料結構 演算法

程式設計 資料結構 演算法 演算法的定義 演算法是解決特定問題求解步驟的描述,在計算機中為指令的有限序列,並且每條指令表示乙個或多個操作。演算法的特性 輸入 輸出 0個或多個輸入,至少乙個輸出,輸出可以是列印輸出或者返回乙個值 有 窮 性 演算法在執行有限步驟後,自動結束而不會出現無限迴圈,並且每乙...