/*六度空间*/
/*用邻接表,BFS,队列*/
/*注意此题是从1开始,而不是从0开始*/
#include<stdio.h>
#include<stdlib.h>
/*边的定义*/
typedef struct Enode* Edge;
struct Enode {
int V1, V2;
};
/*邻接点的定义*/
typedef struct Adjvnode* prttoadjvnode;
struct Adjvnode {
int adjv;
prttoadjvnode next;
};
/*顶点定义*/
typedef struct Vnode {
prttoadjvnode firstedge;
}adjlist[10001]; /*TODO:此处需修改,建议动态分配 已修改 修改失败*/
/*图节点定义*/
struct Gnode {
int Nv;/*顶点数*/
int Ne;/*边数*/
adjlist G ; /*邻接表*/
};
typedef struct Gnode* Lgraph;
/*队列*/
typedef struct Qnode* ptrtoQnode;
struct Qnode {
int* Data;/*data数组,*/
int front, rear;/*队列头尾指针*/
int maxsize;/*容量*/
};
typedef ptrtoQnode Queue;
/*图的操作*/
Lgraph creatgraph(int size);
void insertedge(Lgraph graph, Edge E);
Lgraph buildgraph(int N);
/*队列操作*/
int AddQ(Queue Q, int x);
Queue CreateQueue(int maxsize);
int isempty(Queue Q);
int DeleteQ(Queue Q);
int SBS_BST(Lgraph graph,
PTA_2019春_063_六度空间
最新推荐文章于 2021-08-07 20:42:54 发布
本文探讨了六度空间理论如何在现代社交网络中体现,通过案例分析展示了人们如何通过平均六个人的关系连接到任何其他个体,强调了网络连接在信息传播和人际交往中的重要性。
摘要由CSDN通过智能技术生成