python高级算法数据结构
文章平均质量分 89
tyler_download
这个作者很懒,什么都没留下…
展开
-
python高级算法和数据结构:Bloom过滤器
在海量或高并发应用场景,有一种需求是确认某条记录是否已经存在。例如对搜索引擎而言,它需要快速判断某个网页是否已经收录,通常引擎要存储几十上百亿个网页,要在如此巨量的数据中查找一条记录,用大海捞针来形容确实不为过。 海量或是高并发场景应对的需求总是有一种“要马跑的尽可能快,又要马吃尽可能少的草”的味道。如果面试中有这类问题,面试官总是期待你拿出的方案既要使用尽可能少的内存,然后速度又要尽可能的快。好在还真有方法能满足这些需求,针对“一条记录在海量数据中是否存在”这样的要求,布隆过滤器就能很好的满足内存需求少,原创 2021-12-10 19:42:00 · 572 阅读 · 0 评论 -
python高级算法与数据结构:使用treap实现双索引2
上一节我们看到treap结构能对两组数据进行索引,其中一组数据能实现完全排序,另一组数据能实现部分排序,对后者而言就是,我们能快速获取其最大值或最小值。当treap结构出现问题是,我们通过右旋转或是左旋转来进行调整。 有个难点在于,往treap中插入一个元素时,需要保证不破坏对原来两种数据的索引效用。因此插入元素时要执行两个步骤,首先根据元素的第一组数据(在上节例子中就是字符串)以二叉树的方式进行插入,完成后,节点的第二部分数据可能会违背堆的性质,于是我们就需要两种旋转操作来进行调整,具体例子如下: 如上原创 2021-09-29 17:14:19 · 369 阅读 · 0 评论