图论中存图,通常有两种表示法:
一.邻接表
1.加边函数//idx可以理解为一个结点!! //结点:链表的元素,含e[idx],ne[idx]两个部分 //e[idx]:结点编号为idx对应的节点值 //ne[idx]:结点编号为idx对应的下一个结点的编号 //最开始加的第一条边,所有的点都指向的-1。 // 如加上(a,b)边,e[idx]先存下b的值,然后b(的指针)指向a指向的值,再由a指向b。 //最后形成结尾点为-1的链。 int h[N],e[N],ne[N],idx; void add(int a,int b) { e[idx]=b;ne[idx]=h[a];h[a]=idx++; } //遍历 for(int i=h[x];~i;i=ne[i]) { //x的下一个点为。 int j=e[i]; }
邻接矩阵:
g[ i ][ j ]表示i,j两点的边。
图论的知识点--模板
最新推荐文章于 2024-10-04 10:39:35 发布