数据结构
biningo-QAQ
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python实现二叉搜索树-查找树-排序树【通俗易懂】
二叉搜索树定义 父亲节点的左孩纸小于父亲节点,右孩纸大于父亲节点 从别人博客拉了一张图 复杂度分析 1、查询时间复杂度为 O(log2 n)~O(n)。 时间复杂度和二分法类似,因为二叉树就是用到了二分的思想 最坏情况会退化成一条链 这时的复杂度为O(n) 代码实现 1、初始化类 用python的列表来实现树形结构 方便点 size为树的元素大小 传入size要可能大,因为用数组来模仿树...原创 2019-09-15 20:52:52 · 884 阅读 · 0 评论 -
堆-堆排序-优先级队列【Python实现】【效率最高之一的排序算法】
啥是堆? 堆分为小堆和大堆 小堆就是父节点都小于孩纸节点 大堆相反 每次从堆顶去得的元素都是最小值,但是每次插入元素和取出元素都要进行平衡堆,时间主要消耗在平衡上 这里用数组实现堆结构 1、初始化工作【内置操作函数】 为上浮和下沉提供方便的函数 def __init__(self): self.data = [] def __len__(self): ...原创 2019-09-15 21:08:15 · 367 阅读 · 0 评论 -
你尝试自己实现一个队列吗?【Python列表实现】
啥是队列? 先进先出 如何用栈来实现队列? 形象点就是:准备两个杯子,将一杯水倒入杯中【入栈】,要取得时候倒入另外的杯中,另一个杯子出栈顺序就和原来的杯子相反了,这就是队列 代码 class MyQueue: def __init__(self): self.in_stack=[] self.out_stack=[] def __len__(s...原创 2019-09-15 21:19:30 · 133 阅读 · 0 评论
分享