Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

directgraph.h

#include<stdio.h>

#include<stdlib.h>

#include"jval.h"

#include"jrb.h"

#include"dllist.h"

#define gray 1

#define white 0

#define black 2

#define MAX 10

#define limited 999.0

typedef struct _key

{

int visited;

int id;

int indegree;

int known;

double d;

struct _key *p;

}key;

typedef struct

{

JRB edges;

JRB vertices;

int maxvertices;

}Graph;

Graph creatgraph(Graph graph);

int compare(Jval a,Jval b);

Jval makekey(int id);

int addvertex(Graph *graph,char *name);

//tra ve id co ten name

int getID(Graph *graph,char *name);

//kiem tra co ton tai id khong

int existid(Graph *graph,int id);

void addEdge(Graph *graph,int v1,int v2,double trongso);

//return name of id

char * getvertex(Graph *graph,int id);

//Kiem tra co ton tai name khong

int existname(Graph *graph,char *name);

//kiem tra co canh noi giua v1 voi v2 khong

int hasedge(Graph *graph,int v1,int v2);

//tra ve bac ra cua dinh v

//cac dinh duoc luu trong output

int outdegree(Graph *graph,int v,int *output);

//tra ve bac vao cua dinh v

//cac dinh duoc luu trong output

int indegree(Graph *graph,int v,int *output);

void freegraph(Graph graph);

//Duyet do thi theo BFS

//ham func thuc hien chuc nang tai moi node cua do thi

void BFS (Graph *graph,int s,void (*func)(int,Graph *));

//Duyet do thi theo DFS

void DFS (Graph *graph,int s,void (*func)(int,Graph *));

//Dao nguoc do thi

Graph reversegraph(Graph *graph);

//sap xep Topo,in ra 1 thu tu Topo

void Tsort(Graph *graph,void (*func)(int,Graph *));

//Duong di ngan nhat khi khong co trong so

void shortestpath(Graph *graph,int u,int v);

//List all the way from goc to v

//khi truyen tham so trong chuong trinh chinh thi s = goc,v la id dinh den

void DFSrecusivelt(Graph *graph,int goc,int s,int v);

double trongso(Graph *graph,int u,int v);//return weight of (u->v)

//DIJKSTRA

void Dijkstra(Graph *graph,int s);

//Kiem tra co chu trinh ko,neu co in ra cac chu trinh

void cycledetecting(Graph *graph,int *dem);

//Tra ve so thanh phan lien thong

int checklienthong(Graph *graph);

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: #hongson