用邻接表来表示图
来源:互联网 发布:免费学拼音软件 编辑:程序博客网 时间:2024/05/22 12:06
typedef struct GNode *PtrToGNode;struct GNode{ int Nv;//顶点数 int Ne;//边数 AdjList G;//邻接表。AdjList要自己去定义 };typedef PtrToGNode LGraph;//以邻接表存储的图类型typedef struct VNode{PtrToAdjVNode FirstEdge; DataType Data;//存顶点的数据 }AdjList[MaxVertexNum]; //AdjList是邻接表类型 typedef struct AdjVNode *PtrToAdjVNode;struct AdjVNode{//这个链表里代表每一个边的这个结点的结构体 Vertex AdjV;//邻接点下标WeightType Weight;//边权重 PtrToAdjVNode Next; }; typedef int Vertex;//用顶点下标表示顶点,为整型 LGraph CreateGraph(int VertexNum)//建立图的过程。一.初始化LGraph一个有VertexNum(整数)个顶点但没有边的图 {Vertex V,W;//定义为顶点类型,就是整型 ,虽都是整型,这里V,W是两个顶点,不是两个整数 LGraph Graph;//什么叫没有边,把这个邻接矩阵任意一对顶点V,W之间边定义为0//或如果是有权图,把它初始化为INFINITY(很大的数代表无穷大),代表有权图没有边 Graph=(LGraph)malloc(sizeof(struct GNode));Graph->Nv=VertexNum;Graph->Ne=0;//注意这里默认顶点编号从0开始,到(Graph->Nv-1)for(V=0;V<Graph->Nv;V++) Graph->G[V].FirstEdge=NULL;return Graph; } void InsertEdge(LGraph Graph,Edge E)//二.向LGraph中插入一条边。首先有条边。那边的类型如何定义 {//插入边过程是把顶点插入链表过程 PtrToAdjVNode NewNode;/*******************插入边<v1,v2>*********************/ /*为V2建立新的邻接点*/NewNode=(PtrToAdjVNode)malloc(sieof(struct AdjVNode));NewNode->AdjV=E->V2;NewNode->Weight=E->Weight; //将v2插入v1的表头NewNode->Next=Graph->G[E->V1].FirstEdge;Graph->G[E->V1].FirstEdge=NewNode; /*******************若是无向图,还要插入边<v2,v1>*********************/ /*为V1建立新的邻接点*/NewNode=(PtrToAdjVNode)malloc(sieof(struct AdjVNode));NewNode->AdjV=E->V1;NewNode->Weight=E->Weight; //将v1插入v2的表头NewNode->Next=Graph->G[E->V2].FirstEdge;Graph->G[E->V2].FirstEdge=NewNode; }
0 0
- 用邻接表来表示图
- 用邻接表来表示BFS(广度优先搜索)
- 图的表示--邻接表
- 图的表示--邻接表
- 图的表示方式----邻接矩阵、邻接表
- 20.图的存储表示-----------------邻接表
- 数据结构:图的邻接表存储表示
- 图的邻接表的表示方法
- 图的存储表示--邻接表实现
- 数组表示邻接表
- 图.邻接数组表示法
- 图.邻接列表表示法
- 图的表示:邻接矩阵和邻接表,哪个用得多,有什么优势?
- 图基本算法 ,图的表示方法 邻接矩阵 邻接表
- 图的基本概念;图的存储表示:邻接矩阵、邻接表
- ACM中关于图的邻接表的表示方法
- 图的邻接表存储结构表示法
- 21.图的存储表示 ------------------------邻接多重表
- 微信支付(一)
- 从源码角度理解handler,子线称中使用Handler
- CDOJ1323柱爷的下凡
- Servlet容器与Servlet的关系
- 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
- 用邻接表来表示图
- 拨打电话系统弹窗的显示问题
- left join(左联接)right join(右联接) inner join(等值连接) 区别
- PAT(A)-1102. Invert a Binary Tree (25)(数据结构+bfs)
- android中如何直接将布局中的View存成图像
- [JZOJ3640] 【COCI2014】utrka
- POJ 2501 Average Speed 好好学习博友的文章
- 计算机数据挖掘领域顶级会议期刊
- 惠新宸:我也曾经是“不适合”编程的人(图灵访谈)