数据结构
文章平均质量分 81
Elib
这个人很帅但还是什么都没留下
展开
-
布隆过滤器
如果使用第一种的话,40亿个整形数据,每个整形4个字节,就大概需要将近16G的内存,一台普通家用电脑可能也才16G,那么说只跑这个程序就需要占掉电脑的所有资源,显然是行不通的,那么第一种行不通第二种当然也无法解决这个问题了。如果我现在有一家新公司要注册,但是不知道这个名字有没有被注册,那么我们就可以去这个名字对应的三个位置去查找,只要有一个位置的状态是0,那么就说明这个名字一定没有被注册,因为被注册过的一定是三个位置都位真的状态。那么,在面对海量数据的时候也是可以完美解决的。那些已经看过的内容。原创 2023-10-05 10:27:20 · 248 阅读 · 3 评论 -
AVL树的实现及原理
第一次右旋调整结束之后,我们继续往上更新,接下来进行左旋,同样根据左旋的性质,cur的leift做parent的右边,parent做cur的左边,cur做新的根,当这一次调整结束之后,这棵树又会重新符合条件。同样我们也可以根据搜索二叉树的特性,curleft是一定比parent大的,那么我们就可以让curleft去做parent的右边,parent做cur的左边,cur做新的根节点。然后在根据右旋的特性,让cur的右边成为parent的左边,parent成为cur的右边,cur成为新的根。原创 2023-10-03 13:54:26 · 318 阅读 · 3 评论 -
不过是一棵红黑树(附源码)
在数据结构学习的初期我们了解到了搜索二叉树,并且知道搜索二叉树的效率是非常之高的,在理想情况下10亿个数据中找一个值它也只需要30次左右,但是它尽管如此厉害可是也有不足的地方,在一些极端情况下,搜索二叉树可能会被退化成一棵单链表,那么此时它的效率就会大打折扣的变成O(n)。最后就会违背第4条规则,所以当叔叔不存在的时候,我们对其颜色改造之后,在进行旋转一下,让cur做parent的左边,grandfather做parent的右边,这样既不违背搜索二叉树的规则,又不违背红黑树的规则。这是红黑树就由此诞生了。原创 2023-09-20 17:09:00 · 199 阅读 · 5 评论