数据结构与算法
学习数据结构与算法的笔记,供自己复习使用
什么是快乐星球!?
导航、信号处理、机器学习、深度学习、目标跟踪、视觉SLAM
展开
-
栈-python
栈:先进后出 说明: Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 isEmpty() 判断栈是否为空 size() 返回栈的元素个数``` ```python class MyStack: """使用列表创建栈,列表右端作为栈顶端""" def __init__(self): self.stack = [] def push(self, item):原创 2021-07-06 16:55:59 · 84 阅读 · 0 评论 -
队列-python
队列:先进先出,只能一端进,一端出 描述: Queue() 创建一个空的队列 enqueue(item) 往队列中添加一个item元素 dequeue() 从队列头部删除一个元素 isEmpty() 判断一个队列是否为空 length() 返回队列的大小 class Queue: """使用列表构建队列:列表右端作为队头,左端作为队尾""" def __init__(self): self.queue = [] def enqueue(self, value):原创 2021-07-06 18:25:35 · 93 阅读 · 0 评论 -
单向链表-python
文章目录为什么需要链表?定义单向链表链表节点实现单链表的操作单链表基础功能的实现在头部添加元素在尾部添加元素在指定位置插入元素删除节点查找节点是否存在全部程序单项循环链表基本操作程序实现 为什么需要链表? 主要和顺序表进行对比。 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 定义 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储原创 2021-07-06 21:37:31 · 178 阅读 · 1 评论 -
双向链表-python
文章目录双向链表描述操作程序实现 双向链表 描述 一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。 双向链表包含第一个和最后一个的链接元素。 每个链接都有一个数据字段和两个称为next和pre的链接字段。 每个链接都使用其下一个链接与其下一个链接链接。 每个链接都使用其上一个链接与之前的链接链接。 最后一个链接将链接作为空来标记列表的结尾。 操作 is_empty() 链原创 2021-07-07 19:39:11 · 107 阅读 · 0 评论 -
标准快速排序-python
def quick_sort(alist): qsort(alist, 0, len(alist) - 1) return alist def qsort(alist, left, right): if left >= right: return low = left high = right key = alist[low] while left < right: while left < righ原创 2021-07-08 09:49:59 · 124 阅读 · 0 评论