千锋教育-做有情怀、有良心、有品质的职业教育机构

Python集合和时间复杂度

来源:千锋教育
发布时间:2023-11-06 06:02:17
分享

在本文的这一部分中,我将记录CPython中的常见集合,然后概述它们的时间复杂性。

我将特别关注平均情况。

1.List

List是迄今为止Python中最重要的数据结构之一。我们可以将列表用作堆栈(添加的最后一项是第一项)或队列(添加的第一项是第一项)。列表是有序且可变的集合,因为我们可以随意更新项目。

让我们回顾一下常见列表操作及其Big-O表示法

插入:Big-O表示法是O(n)

获取项目:Big-O表示法为O(1)

删除项目:Big-O表示法是O(n)

迭代:Big-O表示法是O(n)

获得长度:Big-O表示法为O(1)

JoshuaSortino在Unsplash上拍摄的照片

2.Set

集合也是Python中使用最广泛的数据集合之一。集合本质上是无序集合。集合不允许重复,因此集合中的每个项目都是唯一的。集合支持许多数学运算,例如联合,差,集合的交集等。

让我们回顾一下通用Set操作

检查集合中的项目:Big-O表示法是O(1)

集合A与集合B的区别:大O表示法是O(A的长度)

集A和B的交集:大O表示法是O(A或B的长度的最小值)

集A和B的并集:相对于长度(A)+长度(B),它的Big-O表示法是O(N)

fabio在Unsplash上的照片

3.Dict字典

最后,我想提供字典数据收集的概述。字典是键值对集合。键在字典中是唯一的,以防止项目冲突。这是非常有用的数据收集。

字典由键索引,其中键可以是字符串,数字甚至是带有字符串,数字或元组的元组。

我们可以对字典执行许多操作,例如存储键的值,或基于键检索项目,或遍历项目等。

让我们回顾一下常见的词典时间复杂度:

在这里,我们认为该密钥用于获取,设置或删除项目。

获取项目:Big-O表示法为O(1)

设定项目:Big-O表示法是O(1)

删除项目:Big-O表示法是O(1)

遍历字典:Big-O表示法是O(n)

以上内容为大家介绍了Python集合和时间复杂度,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。https://www.mobiletrain.org/

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python 的log功能 python提供了logging模块来实现logging的功能,实现非常简单deflogTest():importloggingimportoslogger=logging.getLogger()ha
  • Python线程编程的两种方式 Python中如果要使用线程的话,python的lib中提供了两种方式。一种是函数式,一种是用类来包装的线程对象。举两个简单的例子希望起到抛砖引玉的作用,关于多线程编程的其他知识例如互斥、信号量、临界
  • 学习python前的一些闲聊 如果你要用计算机做很多工作,最后你会发现有一些任务你更希望用自动化的方式进行处理。比如,你想要在大量的文本文件中执行查找/替换,或者以复杂的方式对大量的图片进行重命名和整理。也许你想要编写一个小型的自
  • Python安装和配置环境变量 一、Python的安装:在网上找一个python的安装包,我找的python3.3.5。照着安装步骤一步一步进行安装,完成后,运行IDLE(PythonGUI),打开的命令行框出现类似如下内容则说明安
  • Python编程中的反模式 python是时下最热门的编程语言之一了。简洁而富有表达力的语法,两三行代码往往就能解决十来行C代码才能解决的问题;丰富的标准库和第三方库,大大节约了开发时间,使它成为那些对性能没有严苛要求的开发任务
  • Python单元测试经验总结 python写单元大多数都会用到unittest和mock,测试代码覆盖率都会用到coverage,最后再用nose把所有的东西都串起来,这样每次出版本,都能把整个项目的单元测试都运行一遍。Unitt