python重要的数据结构list
可以实现线性表,队列,栈等。
1. 线性表
顺序表
size = 10
array = [0 for i in range(size)]
链表
class ListNode:
def __init__(self,x):
self.val = x
self.next = None
node = ListNode(0)
2. 栈 stack
特性:后进先出
stack = []
stack.append(2)
stack.append(3)
stack.pop()
列表元素从右到左添加,列表释放从右到左,满足栈的特性。
3. 队列 queue
队列是先进先出。
from collections import deque
queue = deque()
queue.append(2)
queue.append(3)
x = queue.popleft()
使用双端队列。
4. 集合 set
两种方式创建集合,
# 方式一 字符串集合
t = {'hello', 'world'}
# 方式二 字符集合
t = set('helloworld')
5. 树
树的定义:
class TreeNode:
def __init__(self,x):
self.val = x
self.left = None
self.right = None
tree = TreeNode(0)
6. 图
图由节点和边组成,定义一个字典,键代表节点,值代表与该节点相连的其他所有节点,用list 保存。
graph = collections.defaultdict(list)