三九宝宝网宝宝教育教学论文

C语言实现Dijkstra算法

01月06日 编辑 39baobao.com

[俄罗斯说什么语言]官方语言:俄语 俄语是联合国的官方语言之一,俄罗斯联邦的官方语言,也是世界上母语使用人数和第二语言使用人数的第四大语言。使用俄语的人数占世界人口的5.7%。俄语属于印欧语...+阅读

#include #define INFINITY 1000000000 //最大距离

#define MAX_NODES 1024 //最大节点数

int n,dist[MAX_NODES][MAX_NODES]; //dist[i][j]表示从 i 到 j 的距离 void shortest_path(int s, int t, int path[])

{

struct state

{

int predecessor; //前驱节点

int length; //到起始点的距离

enum {permanent, tentative} label;

}state[MAX_NODES];

int i,k,min;

struct state * p;

for(p=&state[0]; p<&state[n]; p++)

{

p->predecessor = -1;

p->length = INFINITY;

p->label = tentative;

}

state[t].length = 0;

state[t].label = permanent;

k = t; //k 是当前工作节点

do

{

for(i=0; i

{

if(dist[k][i]!=0 & state[i].label==tentative)

{

if(state[k].length+dist[k][i]

{

state[i].length = state[k].length+dist[k][i];

state[i].predecessor = k;

}

}

}

k=0;

min=INFINITY;

for(i=0; i

{

if(state[i].label==tentative & state[i].length

{

k=i;

min=state[i].length;

}

}

state[k].label = permanent;

}while(k!=s);

i=0;

k=s;

do

{

path[i++] = k;

k = state[k].predecessor;

}while(k>=0);

}

以下为关联文档:

俄罗斯人讲什么语言目前,俄罗斯共有大约150种语言(其中有将近80种符合标准语)。其中三分之一以上是境外民族语言,它们在俄罗斯发挥的作用有限(主要是生活会话)。调查显示,在俄罗斯,将近90%的“非俄罗斯...

俄罗斯有多少人?讲哪种语言人口:1.423亿(截至2006年9月1日)。全国有130多个民族,其中俄罗斯人占82.95%,主要少数民族有鞑靼、乌克兰、楚瓦什、巴什基尔、白俄罗斯、摩尔多瓦、日耳曼、乌德穆尔特、亚美尼亚...

C语言查找算法实现#include int main() { int i,x,n,*result = NULL; int a[10],low,high,mid; scanf_s("%d",&n); // 确保输入的数据是非递减的 for(i = 0 ; i scanf_s("%d",&a[i]); } fflush(st...

急求C语言实现一个小算法这个是简单的归并排序,我用c来帮你写出这个排序的函数代码: void merge(int a[],int p,int q,int r) { int b[r],s,t,k,i; s=p;t=q+1;k=p; while ((s<=q)&(t<=r)) { if (a[s]<...

问一个c语言算法实现# include #define N 10 int Func(int n, int *array); int main(void) { int n,index; int array[N]={1,1,0,0,1,1,1,1,0,0}; printf("请输入想检测的'1'的个数:"); scanf("%d",&n)...

关于算法编程题C语言实现char *a; //字符串 改为 char a[20];//存放字符串的字符数组 int jie; //方程的解 改为 double jie; dy = 0; 删去 dy=0; 两处的 for(i=1;i<=z;i++) 都改为 for(i = 0; i < z; i...

rsa算法c语言实现 include stdio程序修改如下: (主要是你的循环写的不对,输入的字符应该-'0'才能与正常的数字对应) #include>stdio。hmath。 h=b;i )r=r*a; printf("%d",r); s=r%c; printf("%d",s); return s;} vo...

如何使用c语言实现插入算法/* **插入排序法 */ #include<stdio.h> #define SIZE 20 int main(void) { int str[SIZE]; int i,len,value,j; printf("please input the length of array:\n"); scanf("%d",&l...

求二叉树遍历算法C语言实现的下面是c语言的前序遍历二叉树的算法,在这里假设的节点元素值假设的为字符型, 说明:算法中用到了结构体,也用到了递归的方法,你看看怎么样,祝你好运! #include"stdio.h" typedef char...

推荐阅读
图文推荐