建立邻接表的时间复杂度为O(n+e),是怎么得来的以及表示什么,请赐教,详细点
答案:2 悬赏:40 手机版
解决时间 2021-04-06 01:16
- 提问者网友:浪荡绅士
- 2021-04-05 09:16
建立邻接表的时间复杂度为O(n+e),是怎么得来的以及表示什么,请赐教,详细点
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-04-05 10:51
其实是O(n + e),顶点加上边数
那个O(n*e)的意思是每次插入一条边,都需要重新查找边所包含两个顶点信息对应的下标,正常的算法没这么弱智吧,不需要顶点信息即为顶点的下标,用散列等方法可以不用这样的
那个O(n*e)的意思是每次插入一条边,都需要重新查找边所包含两个顶点信息对应的下标,正常的算法没这么弱智吧,不需要顶点信息即为顶点的下标,用散列等方法可以不用这样的
全部回答
- 1楼网友:人類模型
- 2021-04-05 10:58
如果输入的顶点信息即为顶点编号[0-(n-1)],比如输入0的时候,访问次数为1+e0(e0在无向图:编号为0结点的邻边数;在有向图:编号为0的出度),所以无向图总的次数为n+e0+e1+…+en-1=n+2e,有向图为n+e,时间复杂度为O(n+e)。如果输入的顶点信息不为顶点编号,则要查找顶点编号,平均次数为(n+1)/2,总次数(n+1)*e/2(区分e的有向图跟无向图),时间复杂度为O(n*e)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯