
算法
文章平均质量分 83
算法应用及实现
未知陨落
前路漫漫亦灿灿, 往事堪堪亦澜澜
展开
-
海量数据处理面试题
给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集?方案1:将其中一个文件1的整数映射到一个位图中,读取另外一个文件2中的整数,判断在不在位图,在就是交集。消耗500M内存方案2:将文件1的整数映射到位图1中,将文件2的整数映射到位图2中,然后将两个位图中的数按位与。与之后为1的位就是交集。消耗内存1G原创 2024-11-25 07:15:00 · 1242 阅读 · 22 评论 -
位图和布隆过滤器
布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的、比较巧妙的概 率型数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存 在”,它是用多个哈希函数,将一个数据映射到位图结构中。此种方式不仅可以提升查询效率,也可以节省大量的内存空间原创 2024-11-24 07:15:00 · 1142 阅读 · 35 评论 -
数据结构——哈希
顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素 时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即 O(log2N),搜索的效率取决于搜索过程中元素的比较次数理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立 一一映射的关系,那么在查找时通过该函数可以很快找到该元素原创 2024-11-21 07:15:00 · 1712 阅读 · 35 评论 -
排序(三)归并排序,记数排序
归并排序的单趟思想是合并两个两个有序数组,合并后依然有序,而对于整体来说我们可以将数组不断地划分,将他们排序好后在合并。记数排序的原理是分别统计每个数据出现的次数,再将统计结果放回数组中。注意这里的位置是相对位置,如下图,1000应该在0。原创 2024-10-25 00:01:40 · 611 阅读 · 0 评论 -
排序(二)快速排序的多种实现方法
1.快速排序整体的综合性能和使用场景都是比较好的2.时间复杂度:O(N*logN)3.空间复杂度:O(logN)4.稳定性:不稳定。原创 2024-10-24 07:00:00 · 799 阅读 · 0 评论 -
排序(一)插入排序,希尔排序,选择排序,堆排序,冒泡排序
1.时间复杂度:O(N^2),顺序时最好,逆序时最坏2.空间复杂度:O(1)3.稳定性:稳定4.当排序的数组越接近有序,算法的时间效率越高。原创 2024-10-23 09:41:58 · 1571 阅读 · 0 评论