ZKX's LAB

图采用邻接矩阵和邻接链表表示时,深度优先遍历算法的时间复杂度有何不同? 邻接矩阵表示的空间复杂度

2020-10-04知识3

图采用邻接矩阵和邻接链表表示时,深度优先遍历算法的时间复杂度有何不同? 1.采用邻接矩阵表示时,设邻接矩阵有n×n阶,矩阵包含n^2个元素。对每个顶点来说,搜索其所有邻接点需要搜索矩阵中对应的整个一行,因此,对整个图的遍历来说,需要搜索。

图采用邻接矩阵和邻接链表表示时,深度优先遍历算法的时间复杂度有何不同? 邻接矩阵表示的空间复杂度

邻接矩阵的表示法 在图的邻接矩阵表示法中:① 用邻接矩阵表示顶点间的相邻关系② 用一个顺序表来存储顶点信息图的矩阵设G=(V,E)是具有n个顶点的图,则G的邻接矩阵是具有如下性质的n阶方阵:【例】下图中无向图636f70793231313335323631343130323136353331333361303030G 5 和有向图G 6 的邻接矩阵分别为A l 和A 2。网络矩阵若G是网络,则邻接矩阵可定义为:其中:w ij 表示边上的权值;表示一个计算机允许的、大于所有边上权值的数。【例】下面带权图的两种邻接矩阵分别为A 3 和A 4。图的邻接矩阵存储结构形式说明define MaxVertexNum l00/最大顶点数,应由用户定义typedef char VertexType;顶点类型应由用户定义typedef int EdgeType;边上的权值类型应由用户定义typedef struct{VextexType vexs[MaxVertexNum]/顶点表EdeType edges[MaxVertexNum][MaxVertexNum];邻接矩阵,可看作边表int n,e;图中当前的顶点数和边数}MGragh;注意:① 在简单应用中,可直接用二维数组作为图的邻接矩阵(顶点表及顶点数等均可省略)。② 当邻接矩阵中的元素仅表示相应的边是否存在时,EdgeTyPe可定义为值为0和1的枚举类型。③无向图的邻接矩阵是对称矩阵,对规模特大的邻接矩阵可压缩。

图采用邻接矩阵和邻接链表表示时,深度优先遍历算法的时间复杂度有何不同? 邻接矩阵表示的空间复杂度

对于一个具有n条边和e个顶点的图来说,如果采用邻接表表示,则其空间复杂度为_____ 参考答案:O(n+c)O(n2)

图采用邻接矩阵和邻接链表表示时,深度优先遍历算法的时间复杂度有何不同? 邻接矩阵表示的空间复杂度

邻接表与邻接矩阵的用法? 邻接表有多种实现方式,比如最简单的动态链表,对于一个无向图,为每个节点建一个动态链表,储存的只是这个节点每个相邻的点,而在邻接矩阵中,对于每个节点需要把它与其他所有点的关系都表示出来(相邻为1,不相邻为0),空间复杂度明显是邻接矩阵大,至于查询两者各有千秋,如果只是查询两个点之间是否相邻,邻接矩阵当然更快,但如果是做dfs的话,找当前节点相邻的点,如果用邻接矩阵的话每次都要从1扫到n,如果用邻接表的话每次只需把当前节点邻接表后的点都取出来即可。

邻接表与邻接矩阵的用法?都是二维的..,大小一样..但是矩阵是布尔,表是数,明显空间大,查起来明显矩阵是O[1],表最坏O(n)但是.我这句话哪里不对

在用邻接表表示图时,对图进行深度优先搜索遍历的算法的时间复杂度为() 因为邻接矩阵最坏时需要将矩阵中所有元素扫描完,元素个数是n^2个,自然算法就是O(n^2)邻接表,只是存储了边或者弧,将邻接表扫描完就可以了,时间复杂度自然就是O(n+e)了,n是顶点数,e的边或者弧的数量

#邻接表#矩阵#邻接矩阵#时间复杂度#矩阵图

随机阅读

qrcode
访问手机版