随笔分类 -  python数据结构与算法

用python语言表达数据结构与算法,抽象数据类型的实现
布隆过滤器和LRU Cache
摘要:一、布隆过滤器的实现及应用 1. 应用背景 比特币网络、分布式系统、Redis缓存、垃圾邮件过滤、评论的过滤等场景中,如何判断一个元素是否存在一个集合中,且不会占用很大的内存空间?——Bloom Filter 2. 实现原理 一个很长的二进制向量(位数组) 一系列随机映射函数 空间效率和查询时间远远 阅读全文

posted @ 2020-08-22 10:08 东何 阅读(204) 评论(0) 推荐(0)

Python版常见的排序算法
摘要:学习笔记 排序算法 排序分为两类,比较类排序和非比较类排序,比较类排序通过比较来决定元素间的相对次序,其时间复杂度不能突破O(nlogn);非比较类排序可以突破基于比较排序的时间下界,缺点就是一般只能用于整型相关的数据类型,需要辅助的额外空间。 要求能够手写时间复杂度位O(nlogn)的排序算法:快 阅读全文

posted @ 2020-08-19 11:35 东何 阅读(197) 评论(0) 推荐(0)

python使用数组实现链表的策略分析
摘要:python实现链表数据结构:数组/节点与引用 使用数组策略: 使用数组存储指向其他对象的引用 数组存储空间过度分配 数组填满后,分配一个更大的数组,将旧数组的内容复制到新数组中 class ArrayList: def __init__(self): self.size_exponent = 0 阅读全文

posted @ 2020-05-22 15:32 东何 阅读(253) 评论(0) 推荐(0)

用python实现栈/队列/双端队列/链表
摘要:栈是元素的有序集合,添加操作与移除操作都发生在其顶端,先进后出栈操作:创建空栈,增删(顶端),查(顶端元素,元素个数,是否为空)应用:将十进制数转换成任意进制数 1 class Stack: 2 # 用列表创建一个空栈 3 def __init__(self): 4 self.items = [] 阅读全文

posted @ 2020-05-22 14:02 东何 阅读(448) 评论(0) 推荐(0)

导航