数组在python中使用list来表示。
链表初始化:
class linkedlist:
def __init__(self,x):
self.val = x
self.next = None
queue队列(常见BFS算法)
队列表示方式有两种,一种使用list,但是删除不方便,或者使用from collections import deque(双端队列)
操作有:
append()
pop()
appendleft()
popleft()
q.append()搭配popleft()
appendleft()搭配pop()
max()
min()
len()
stack栈(常见在DFS算法中)
队列表示方式有两种,一种使用list,或者使用from collections import deque(双端队列)
在stack中,list就很符合要求
q.append()搭配pop()
appendleft()搭配popleft()
heap堆
heap在python中使用heapq包来表示
from heapq import heapify,heappop,heappush,heappushpop,heapreplace,nlargest,nsmallest
#(默认小堆)
nlargest:前n个最大的值
a = [1, 2,3]
heapify(a)>>>将a转换成小堆