graphalg.h
来自「掌握如何用C来实现各种算法」· C头文件 代码 · 共 82 行
H
82 行
/*****************************************************************************
* *
* ------------------------------ graphalg.h ------------------------------ *
* *
*****************************************************************************/
#ifndef GRAPHALG_H
#define GRAPHALG_H
#include "graph.h"
#include "list.h"
/*****************************************************************************
* *
* Define a structure for vertices in minimum spanning trees. *
* *
*****************************************************************************/
typedef struct MstVertex_ {
void *data;
double weight;
VertexColor color;
double key;
struct MstVertex_ *parent;
} MstVertex;
/*****************************************************************************
* *
* Define a structure for vertices in shortest-path problems. *
* *
*****************************************************************************/
typedef struct PathVertex_ {
void *data;
double weight;
VertexColor color;
double d;
struct PathVertex_ *parent;
} PathVertex;
/*****************************************************************************
* *
* Define a structure for vertices in traveling-salesman problems. *
* *
*****************************************************************************/
typedef struct TspVertex_ {
void *data;
double x,
y;
VertexColor color;
} TspVertex;
/*****************************************************************************
* *
* --------------------------- Public Interface --------------------------- *
* *
*****************************************************************************/
int mst(Graph *graph, const MstVertex *start, List *span, int (*match)(const
void *key1, const void *key2));
int shortest(Graph *graph, const PathVertex *start, List *paths, int (*match)
(const void *key1, const void *key2));
int tsp(List *vertices, const TspVertex *start, List *tour, int (*match)
(const void *key1, const void *key2));
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?