ZKX's LAB

关于数据结构中邻接表的问题 输入并构造正邻接链表代码

2021-04-06知识6

【数据结构】怎么把图的邻接表表示转化为图的邻接矩阵表示? 你是要把邻接表转换成邻接矩阵还是要一个邻接矩阵表示的代码啊?好像不能直接转吧pragma oncedefine MAX_VERTEX_NUM 20typedef enum{DG,DN,UDG,UDN}GraphKind;define INFINTY 1000includeusing namespace std;class ArcCell{friend class MGraph;public:int adj;int*info;};class Closedge{friend class MGraph;public:int adjvex;int lowcost;};class MGraph{public:char vexs[MAX_VERTEX_NUM];ArcCell arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];int vexnum,arcnum;GraphKind kind;bool Visited[MAX_VERTEX_NUM];bool Visted[MAX_VERTEX_NUM];遍历的访问数组Closedge closedge[MAX_VERTEX_NUM];public:MGraph(void);MGraph(void);int LocateVex(char ch){for(int i=0;i<;this->;vexnum;i+){if(this->;vexs[i]=ch)return i;}return 0;}void CreateUND(){int vexn,arcn,i,j;cout请输入节点个数:;cin>;>;vexn;cout请输入弧数:;cin>;>;arcn;this->;arcnum=arcn;this->;vexnum=vexn;for(i=0;i;i+){cout请输入节点名:;cin>;>;this->;vexs[i];}for(i=0;i;i+)for(j=0;j;j+){arcs[i][j].adj=INFINTY;this->;arcs[i][j].info=NULL;}cout请输入弧的节点。

图采用邻接矩阵和邻接链表表示时,深度优先遍历算法的时间复杂度有何不同? 1.采用邻接矩阵表示时,设邻接矩阵有百n×n阶,矩阵包含n^2个元素。对每个顶点来说,搜索其所有邻接点需要搜索矩阵中对应的整个一行,度因此,对整个图的遍历来说,问需要搜索整个矩阵,算法的时间复杂度为O(n^2)。2.采用邻接表表示时,若邻接表有n个结点和e条边,对每个顶点来说,搜索其所答有邻接点需要搜索邻接表中对应的链表的各结点,算法的时间复杂度为O(n+e)。扩展资料:深度优先遍历算版法的步骤:(1)访问顶点V0;(2)依次权从V0的各个未被访问的邻接点出发深度遍历。

数据结构问题 在邻接表中什么是表节点?什么是表头节点?什么是头节点? 参见http://baike.baidu.com/view/549594.htm再给你看一下数据结构的课件解释第二个图是个标准的邻接表实例 右上角是图,共有5个点,v1到v5按照每个点来建立单链表组成邻接。

#邻接链表示意图#输入并构造正邻接链表代码

随机阅读

qrcode
访问手机版