Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么在邻接列表O中的操作是$的?

为什么在邻接列表O中的操作是$的?
EN

Stack Overflow用户
提问于 2019-04-30 22:33:11
回答 1查看 77关注 0票数 0

我正在为即将举行的考试做准备。提供给我的图表具有以下算法复杂性,对具有N个节点和E边的图的邻接列表进行了总结。

  • 查找边- O(E/N)
  • 插入边- O(E/N)
  • 删除edge - O(E/N)
  • 节点- O(E/N)的枚举边

我理解邻接列表是什么-我们使用一个列表数组来存储与每个顶点相邻的顶点。但为什么这些行动是O(E/N)?在我看来,如果我们用一个图来绘制每个可能的边(例如,如果图是无向的,我们有n(n - 1)/2边),那么数组中的每个列表都会有N-1项来存储每一个其他节点。

在我看来,这将是“最坏的情况”,不是吗?我不明白边缘和节点的比率是如何得到的。

谁能解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 23:23:16

我相信这个问题与另一个问题在堆栈溢出上的问题非常相似,请参考它,因为它可能已经回答了您的问题。为了完整起见,我也会尝试总结我对这个话题的理解,但我在这个问题上并不权威,所以如果我说错了什么,请随时纠正:

我能理解的是,当我们都知道最坏的情况是O(N)的时候,为什么图表上说操作是O(E/N)。嗯,这里有两个问题:

  1. 假设大O意味着“最坏的情况输入”,但是,根据定义,我们不能假设这一点。
  2. 图表上只写着O(E/N),正如@domen评论的那样,文本应该更清晰,并指明它正在考虑的输入情况。

这里的一个快速回答是,大O可以用来“谈论”这两种情况。当我们谈论平均输入时,它将是O(E/N),当我们谈论最坏的输入时,它将是O(N)。

现在,让我们看到一个更长的解决每个枚举问题的答案:相应地,对于“算法导论”一书,我们可以将大O定义为:

O(g(n)) ={ f(n):存在正常数c和n0,使得所有n >= n0}都存在0 <= f(n) <= cg(n)

注意,这个定义没有提到最坏的情况,它只是说,如果我们有一个函数f(n),并且我们可以提供一个常数c和一个n0,使0 <= f(n) <= cg(n)对于每n个>= n0,那么f(n)在O(g(n))中。因此,这里忽略了最坏的情况,如果我们可以提供一个函数f(n),一个常数c和一个不违反上述定义的n0,那么f(n)在O(n)中。

这里我们只讨论输入情况的上界,这可能是最坏的输入,平均输入或任何其他输入情况。

如果算法存在“最坏输入”= w(n)和“平均输入”= a(n),则n'0使得0 <= w(n) <= c'g(n)对于n >= n'0和存在c',n‘0使得每n >= n’0有0 <= a(n) <= c‘g(e/n),则可以说算法在最坏情况下是O(n),在平均情况下是O(e/n)。

如果图表没有指定它正在考虑的f(n) (最坏的情况或平均情况),那么我们不能肯定任何事情,图表必须更具体。

这里的常见行为是假设文本是指最坏的情况输入,这可能就是为什么我们把大O和最坏的情况联系起来的原因,而大多数情况下,这个假设有时是正确的(就像你提到的图表)--它是错误的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55932457

复制
相关文章
条形图以及分组条形图
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。
生信喵实验柴
2022/10/25
6520
条形图以及分组条形图
使用 matplotlib 绘制条形码
rect 设置坐标轴在窗口的位置和大小[left, bottom, width, height];
iam002
2021/08/26
1.3K0
使用 matplotlib 绘制条形码
如何更改ggplot2中堆积条形图中的堆积顺序
博客地址:https://www.jianshu.com/u/619b87e54936
用户1359560
2020/03/20
12.6K0
R语言 | 条形图绘制
本次内容介绍条形图的绘制,包括基本条形图、簇状条形图、频数条形图、堆积条形图、百分比条形图。
生信real
2022/03/29
2.4K0
R语言 | 条形图绘制
Python:matplotlib绘制条形图
条形图,也称柱状图,看起来像直方图,但完是两码事。条形图根据不同的x值,为每个x指定一个高度y,画一个一定宽度的条形;而直方图是对数据集进行区间划分,为每个区间画条形。
py3study
2020/01/16
1.5K0
Python:matplotlib绘制条形图
ggplot2分组条形图饼图箱线图
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。
生信喵实验柴
2022/10/25
8100
ggplot2分组条形图饼图箱线图
条码设计软件如何调整条形码与条码文字之间的距离
在条码设计软件中设计条形码的时候,我们可以发现条形码和条码文字之间的距离有些紧密,为了美观,我们可以调整一下条形码与条码文字的间距,具体操作如下:
用户5746110
2019/09/18
1.1K0
条形图组(辅助序列法)
今天跟大家分享的图表是条形图组(辅助序列法)! ▽▼▽ 这个图表曾在之前的条件格式条形组图中介绍过。不过使用的工具不同,之前那个使用条件格式做成的,今天教大家使用辅助序列来做! ●●●●● 有时候我们
数据小磨坊
2018/04/10
1.7K0
条形图组(辅助序列法)
LeetCode动画 | 1054.距离相等的条形码
今天分享一个LeetCode题,题号是1054,标题是距离相等的条形码,题目标签是堆和排序。
我脱下短袖
2020/02/25
5790
50种常见Matplotlib科研论文绘图合集!赶紧收藏~~
内容来源:和鲸社区 有效图表的重要特征: 在不歪曲事实的情况下传达正确和必要的信息。 设计简单,您不必太费力就能理解它。 从审美角度支持信息而不是掩盖信息。 信息没有超负荷。 01 关联 (Correlation) 关联图表用于可视化2个或更多变量之间的关系。也就是说,一个变量如何相对于另一个变化。 1、散点图(Scatter plot) 散点图是用于研究两个变量之间关系的经典的和基本的图表。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在 matplotlib 中,您可以使用 plt.scatte
张俊红
2022/06/07
4.5K0
50种常见Matplotlib科研论文绘图合集!赶紧收藏~~
绘制极坐标系条形图
df<-read.csv("/home/shijm/Rlearning/Beautiful-Visualization-with-R-master/第3章_类别比较型图表/PloarRange_Data.csv",sep=",",na.strings="NA",stringsAsFactors=FALSE) > df$date<-as.Date(df$date) > > myAngle <-seq(-20,-340,length.out = 12) > > ggplot(df, aes(date,
爱学习的小明明
2020/09/20
1.2K0
条形图、带标签的条形图、有间隙的条形图。
import numpy as np import matplotlib.pyplot as plt labels = ['G1', 'G2', 'G3', 'G4', 'G5'] men_means = [20, 35, 30, 35, 27] women_means = [25, 32, 34, 20, 25] men_std = [2, 3, 4, 1, 2] women_std = [3, 5, 2, 3, 3] width = 0.35 # the width of the ba
裴来凡
2022/05/28
1.1K0
条形图、带标签的条形图、有间隙的条形图。
R-ggchicklet - 圆角条形图绘制
本期开始继续基础图表(柱形图/条形图(bar charts))的绘制推文教程,但在系列绘制之前,我们先介绍下个人较喜欢的一个绘图R包-ggchicklet包,用于绘制带圆角角度的柱形图(Rounded Segmented Column)。主要涉及的知识点如下:
DataCharm
2021/02/22
9930
R-ggchicklet - 圆角条形图绘制
原来使用 Pandas 绘制图表也这么惊艳
Pandas 是一种非常流行的数据分析工具,同时它还为数据可视化提供了很好的选择。
周萝卜
2022/09/28
4.8K0
LeetCode 1054. 距离相等的条形码(优先队列)
在一个仓库里,有一排条形码,其中第 i 个条形码为 barcodes[i]。 请你重新排列这些条形码,使其中两个相邻的条形码 不能 相等。 你可以返回任何满足该要求的答案,此题保证存在答案。
Michael阿明
2020/07/13
3340
Excel做分组条形图竟然这么容易!
Excel是一个很强大的作图工具,做好的图使用Excel插件导出高质量的图,完美收官!
百味科研芝士
2021/09/03
8.9K0
Excel做分组条形图竟然这么容易!
条件格式制作条形数据组图
今天跟大家分享用条件格式制作条形数据组图! ▽▼▽ 记得之前有一期跟大家分享过条件格式图表的制作方法,今天所要讲的案例,方法是一样的,只是通过多个条形图叠加及排版,形成看起来如同整体的数据报表! ●●
数据小磨坊
2018/04/10
1.2K0
条件格式制作条形数据组图
点击加载更多

相似问题

获得XPATH和CSS选择器用于使用Selenium的最佳方法

25

如何获取单个元素的CSS选择器/Xpath

225

Xpath或CSS选择器获取特定节点

28

CSS/Xpath选择器用于包含具有特定文本的元素的特定类的元素

26

获取特定元素的XPath

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档