数据结构
鼓添落
这个作者很懒,什么都没留下…
展开
-
布隆过滤器
布隆过滤器当一个元素被加入集合时,通过 K个Hash函数将这个元素映射成一个位数组中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它。如果这些点有任何一个0,则被检元素一定不在;如果都是1,则 被检元素很可能在。常见Hash函数常见的应用比较广的hash函数有MD5,SHA1,SHA256,一般用于信息安全方面,比如签名认证和加密等。比如我们传输文件时习惯用对原文件内容计算它的MD5值,生成128 bit的整数,通常我们说的32位MD5值,是转换为HEX格原创 2021-01-26 23:35:02 · 125 阅读 · 1 评论 -
时间复杂度
时间复杂度时间常数的操作O(1)时间复杂度的定义时间复杂度的分析eg1.有序数组a,无序数组b,查找b中当前不属于a的所有数(num(a):N,num(b):M)。每个b数,都遍历a一下显然,时间复杂度O(M*N)每个b数,都二分查找a一下二分查找过程,相当于2的阶乘直到样本量,故而时间常数操作的数量是log N,时间复杂度为O(M*log N)b先排序,再对a数外排。排序的...原创 2021-01-21 00:44:20 · 852 阅读 · 0 评论 -
排序算法
快速排序Partition 荷兰国旗问题给定一个数num,将一个数组arr中所有大于num的数放右边,小于num的数放左边,等于num的数放中间。void partition(vector<int>& arr, int L, int R ,int num){ int cur = L; int left = L-1, right = R+1; ...原创 2020-03-01 22:20:13 · 62 阅读 · 0 评论 -
详解红黑树
基本概念红黑树是一种自平衡二叉查找树,和AVL树类似,在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。基本性质1.节点非红即黑2.根节点是黑的3.叶子节点是黑的4.一个节点是红的,两个儿子都是黑的5.每个节点,从该节点到子孙节点所有路径上包含相同数目的黑节点...原创 2019-12-09 00:27:05 · 101 阅读 · 0 评论