学校超市选址问题(带权有向图的中心点)----C 语言

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:43:51
设计要求:对于某一学校超市,其他各单位到其的距离不同,同时各单位人员去超市的频度也不同。请为超市选址,要求实现总体最优。

这是最短路径问题
首先有向赋权图得用邻接表来表示。
不知道邻接表是怎么建的,所以随便鼓捣了一下。。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define alloc(type) (type*)malloc(sizeof(type))
#define MAX_NUM 3.14E38
#define TRUE 1
#define FALSE 0
#define NODE_NUM 8

struct adj_list{
int index;
char name[10];
float len;
struct adj_list *next;
};
typedef struct adj_list Node;

//node[]为起始节点数组
int dijkstra(Node node[],int size,int first,float distance[],int previous[]){
//初始化数组
int *isused=new int[size];
for(int i=0;i<size;i++){
distance[i]=MAX_NUM;
isused[i]=FALSE;
previous[i]=-1;
}
//初始起始节点和邻接节点间的距离
Node *pos=node[firs