首页 > 其他分享 >邻接矩阵和邻接表存储的时间复杂度

邻接矩阵和邻接表存储的时间复杂度

时间:2022-12-22 21:45:26浏览次数:43  
标签:存储 复杂度 邻接矩阵 时间 邻接 顶点

用邻接矩阵构造图时,若存储的是一个无向图,则时间复杂度为O(n^2 + n*e),其中,对邻接矩阵的初始化耗费的时间为O(n^2);

对于DFS,BFS遍历来说,时间复杂度和存储结构有关:

n表示有n个顶点,e表示有e条边。

1.若采用邻接矩阵存储,

时间复杂度为O(n^2); 

2.若采用邻接链表存储,建立邻接表或逆邻接表时,

若输入的顶点信息即为顶点的编号,则时间复杂度为O(n+e);

若输入的顶点信息不是顶点的编号,需要通过查找才能得到顶点在图中的位置,则时间复杂度为O(n*e);

标签:存储,复杂度,邻接矩阵,时间,邻接,顶点
From: https://www.cnblogs.com/kuailest/p/16999632.html

相关文章

  • 邻接表存储实现图的深度优先遍历
    编写程序,实现由邻接表存储实现无向图的深度优先搜索遍历的功能。顶点为字符型。输入格式:第一行输入顶点个数及边的个数,第二行依次输入各顶点,第三行开始依次输入边的两个......
  • 4_1邻接矩阵图
    1.图的邻接矩阵结构体定义#include<stdio.h>#defineMaxvertices20typedefstructSeqlist{ intlength;//存储顶点总数 char*data;//等价于chardata[M......
  • 数据结构 玩转数据结构 7-3 集合类的复杂度分析
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13705 1重点关注1.1结论使用二叉树实现集合Set性能优于使用链表实现集合Set. ......
  • 递归树求取递归的时间复杂度
    ......
  • codeforces 596 div2 p-binary(数位复杂度压缩)
    题目大意:已知: 同时  ,问k最少为多少。解题思路:首先,我们看到这里有2的n次方,我们考虑能不能从二进制表示下手,我们通过移位来表示:得到公式 ,很直接的想法是我们让k从小到大......
  • O(1)空间复杂度找到相交链表的交点
      相交链表编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:​​​​在节点c1开始相交。解题思路:首先将一条链首尾连起来,这时候就变成了找环的入口点的问题......
  • 原地合并两个排序数组 O(1)空间复杂度,O(n)时间复杂度
    问题:给你两个从小到大的数组a,b。在不申请额外空间下,往a填充a和b合并后的排序数组(假设a的空间是足够的)。第一种方法:很直觉的思路是,我们采取和归并排序时同样的策略,每次拿出最......
  • 邻接表存储实现图的深度优先遍历
    题目要求第一行输入顶点个数及边的个数,第二行依次输入各顶点,第三行开始依次输入边的两个顶点,用空格分开。最后输入深度优先遍历的起始点。输出格式:输出深度优......
  • C语言 图的遍历(广度优先和深度优先、邻接矩阵)
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>/*--------辅助广度优先遍历用的空闲单元法循环队列-----------*/#defineMaxQueuenNum20typ......
  • 2021冬--简单描述时间复杂度
    时间复杂度一般用来描述随着数据量的增加时间变化的趋势,如第一次给我1个鸡腿和100个鸡蛋,第二次给我1个鸡腿和1个鸡蛋,计算我吃完鸡腿的用时,那么时间复杂度是O(1),不论给我多......