鱼C论坛

 找回密码
 立即注册
查看: 2240|回复: 3

[已解决]有关列表复杂度的问题

[复制链接]
发表于 2020-4-8 09:13:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想请教一下为什么python里面的列表的index函数的时间复杂度是O(1)呢
最佳答案
2020-4-8 09:42:37
你确定你看到的是对的吗?
python 中 list各个函数的时间复杂度要看其执行代码
你所说的index好像是list[i]吧?很多地方把直接拿下标索引也称之为index,但这不是index函数,这种方式的时间复杂度是O(1),因为其位置是可以直接得到的,然后就直接获取该元素了。
而list.index()的时间复杂度是O(n),因为它需要遍历一次列表,最坏的情况是一直找到最后一个元素,因此其时间复杂度为O(n)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-8 09:18:04 | 显示全部楼层
你去看它怎么写的不就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 09:42:37 | 显示全部楼层    本楼为最佳答案   
你确定你看到的是对的吗?
python 中 list各个函数的时间复杂度要看其执行代码
你所说的index好像是list[i]吧?很多地方把直接拿下标索引也称之为index,但这不是index函数,这种方式的时间复杂度是O(1),因为其位置是可以直接得到的,然后就直接获取该元素了。
而list.index()的时间复杂度是O(n),因为它需要遍历一次列表,最坏的情况是一直找到最后一个元素,因此其时间复杂度为O(n)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-8 12:59:03 | 显示全部楼层
并不是,你在哪里看到的?list.index() 的时间复杂度是 O(n),不是 O(1),下标访问列表的时间复杂度才是 O(1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 06:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表