栈、队列、链表、散列表、二叉树、二叉搜索树简述与python实现。其中链表和二叉树附上基本数据操作的代码。
1.栈
栈是一种先入后出的数据结构。在python中,栈是由list实现的。list是用中括号括起来的。
list实现:入栈append(),出栈pop()
2.队列
队列是一种先入先出的数据结构。在python中,队列可用list实现,也可用queue模块。
list实现:入队append(),出队pop(0)
queue实现:定义Queue(),入队put(),出队get()
3.链表
链表是一种链式存储结构。链表有两个元素,一个是数值,一个是指针。在python链表的定义与相关基本操作如下:
class Node(object):
def __init__(self, val):
self.val = val
self.next = None
class LinkList(object):
#创建
def __init__(self):
self.head=None
#遍历
def values(self):
cur=self.head
while cur:
yield cur.val
cur=cur.next
# 插入头结点
def insert(self, val):