🪞python的数组、栈与队列
2022-5-21
| 2023-4-2
0  |  阅读时长 0 分钟
type
status
password
date
slug
summary
category
URL
tags
icon

list

函数
定义
平均时间复杂度
最坏时间复杂度
list.append(i)
在末尾添加元素i
O(1)
O(1)
索引(取元素)
O(1)
O(1)
索引(更改元素)
O(1)
O(1)
O(n)
list.pop(i) pop(0)的时间复杂度是O(1)
位置i的元素出栈
O(n)
O(n)
list.remove(x)
删除列表中值等于x的元素
O(n)
O(n)
list.clear()
删除list中的所有元素del a[:]
list.count(x)
list中元素x出现的次数
O(n)
O(n)
list.sort(*, key=None, reverse=False)
list中的元素进行排序
nlog(n)
nlog(n)
list.reverse()
逆序
O(n)
O(n)
list.extend(iterable)
将iterable合并到list的后边
O(k)
O(k)
x in list
x 是不是在list中
 O(n)
O(n)
min(s), max(s)
list中的最大值,最小值
 O(n)
O(n)

deque:栈和队列可以使用deque

操作
定义
平均情况
最坏情况
index(item)
返回队列中指定值的索引,如果值不存在则报错,如果有多个相同的数据则返回从左到右第一个值的索引
O(n)
O(n)
append
添加一个数据到队列的尾部
O(1)
O(1)
appendleft
添加一个数据到队列的头部
O(1)
O(1)
insert(index, item)
在队列中的指定位置插入一个数据,index为指定的位置索引
O(n)
O(n)
pop
将队列尾部的数据弹出,并作为返回值
O(1)
O(1)
popleft
将队列头部的数据弹出,并作为返回值
O(1)
O(1)
remove
从队列中删除指定的数据,如果指定的数据不存在则报错,如果有多个相同的数据则只会删除从左到右的第一个数据。
O(n)
O(n)
extend
将一个可迭代对象中的数据按顺序添加到队列的尾部
O(k)
O(k)
extendleft
将一个可迭代对象中的数据按顺序添加到队列的头部
O(k)
O(k)
copy
复制
O(n)
O(n)
rotate
对队列中的数据进行轮转。每次轮转是将队尾的数据出队然后从队头入队,相当于先
O(k)
O(k)
count(item)
返回队列中指定值的数量,如果值不存在则返回0
O(n)
O(n)
x in deque
x 是不是在 deque 中
O(n)
O(n)
  • 线性表
  • Python 的小顶堆 heapq Python dict和set的底层原理
    Loading...
    目录