python数据结构
利用python实现数据结构
十二年前的海苔
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python数据结构:01单链表
# -*- coding: utf-8 -*- class Node: def __init__(self, elem): self.elem = elem self.next = None class SingleLinkList: def __init__(self): self.__head = None def is_empty(self): """链表是否为空""" return self原创 2021-11-02 19:52:47 · 129 阅读 · 0 评论 -
python数据结构:02双向链表
class Node: def __init__(self, elem, pre=None, next=None): self.elem = elem self.pre = pre self.next = next class DoubleLinkList: def __init__(self, node=None): self.__head = node def is_empty(self): "原创 2021-11-02 21:57:37 · 128 阅读 · 0 评论 -
python数据结构:03单向循环链表
class Node: def __init__(self, elem, next=None): self.elem = elem self.next = next class SingleLinkList: """单向循环链表""" def __init__(self, node=None): self.__head = node if node: node.next = node原创 2021-11-03 09:57:07 · 172 阅读 · 0 评论 -
python数据结构:04栈的实现
""" 栈的操作 Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数 """ class Stack: def __init__(self): self.items = [] def push(self, elem): """入栈/压栈""" self.items.append(e原创 2021-11-03 10:41:32 · 162 阅读 · 0 评论 -
python数据结构:05队列的实现
""" Queue() 创建一个空的队列 enqueue(item) 往队列中添加一个item元素 dequeue() 从队列头部删除一个元素 is_empty() 判断一个队列是否为空 size() 返回队列的大小 """ class Queue(object): """队列""" def __init__(self): self.items = [] def is_empty(self): return self.items == []原创 2021-11-03 10:43:49 · 128 阅读 · 0 评论 -
python数据结构:06双端队列
双端队列(deque,全名double-ended queue),是一种具有队列和栈的性质的数据结构。 双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。 双端队列可以在队列任意一端入队和出队。 操作 Deque() 创建一个空的双端队列 add_front(item) 从队头加入一个item元素 add_rear(item) 从队尾加入一个item元素 remove_front() 从队头删除一个item元素 remove_rear() 从队尾删除一个item元素 is_empty()原创 2021-11-03 10:47:34 · 168 阅读 · 0 评论 -
python数据结构:07 排序算法(1)
冒泡排序 def bubble_sort(alist): """ 冒泡排序 最坏时间复杂度:O(n2) 稳定性:稳定 """ n = len(alist) for i in range(0, n-1): for j in range(0, n-1-i): if alist[j] > alist[j+1]: alist[j], alist[j+1] = alist[j+1],原创 2021-11-04 09:23:20 · 408 阅读 · 0 评论
分享