![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常用算法
weixin_38070782
这个作者很懒,什么都没留下…
展开
-
递归算法学习好文
https://www.zhihu.com/question/31412436原创 2020-07-10 14:15:09 · 89 阅读 · 0 评论 -
AVL树的实现
https://blog.csdn.net/cx2479750196/article/details/80960674?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase转载 2020-07-09 22:49:38 · 111 阅读 · 0 评论 -
各种字符串Hash函数(转)
https://www.cnblogs.com/zl1991/p/11820922.html转载 2020-07-07 11:41:57 · 124 阅读 · 0 评论 -
海量文件处理-HASH分割文件与布隆过滤器(BloomFilter)实现
用hash法分割文件实现https://blog.csdn.net/qingdujun/article/details/82343756用布隆过滤器(bloomFilter)实现https://blog.csdn.net/fouy_yun/article/details/81075432转载 2020-07-07 11:15:18 · 108 阅读 · 0 评论 -
外排序(归并排序算法)
本文转自https://www.cnblogs.com/huangxincheng/archive/2012/12/19/2824943.html说到排序,大家第一反应基本上是内排序,是的,算法嘛,玩的就是内存,然而内存是有限制的,总有装不下的那一天,此时就可以来玩玩外排序,当然在我看来,外排序考验的是一个程序员的架构能力,而不仅仅局限于排序这个层次。一:N路归并排序1.概序 我们知道算法中有一种叫做分治思想,一个大问题我们可以采取分而治之,各个突破,当子问题解决了,大问...转载 2020-06-22 19:39:30 · 1958 阅读 · 1 评论 -
位数组实现原理
记录一点,积累一点位数组(bit数组)使用到位数组的代码,一般出于两个考虑: 1. 降低存储空间。2. 加快查找效率(能迅速判断某个地元素是否在一个集合中)。知识准备1. 计算机中的位操作: 与(&)、或(|) 、非(~) 1 & 1 = 1 1 | 1 = 1 ~1 = 0 1 & 0 = 0 1 | 0 = 1 ~0 = 1 0 & 1 = 0转载 2020-06-16 12:42:34 · 1239 阅读 · 1 评论 -
hashmap 中hash函数h & (length-1)详解
Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。1、hashmap的数据结构要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“),..转载 2020-06-11 11:18:00 · 839 阅读 · 0 评论 -
哈希表(拉链法解决冲突)
哈希冲突若两个不相等的 key 产生了相等的 哈希值 ,这时则需要采用 哈希冲突 。拉链法Java 标准库的 HashMap 基本上就是用 拉链法 实现的。 拉链法 的实现比较简单,将链表和数组相结合。也就是说创建一个链表数组,数组中每一格就是一个链表。若遇到哈希冲突,则将冲突的值加到链表中即可。实现步骤*得到一个 key*计算 key 的 hashValue*根据 hashValue 值定位到 data[hashValue] 。( data[hashValue] 是一条.转载 2020-06-10 22:57:22 · 2547 阅读 · 0 评论 -
常见缓存算法和LRU的c++实现
对于web开发而言,缓存必不可少,也是提高性能最常用的方式。无论是浏览器缓存(如果是chrome浏览器,可以通过chrome:????/cache查看),还是服务端的缓存(通过memcached或者redis等内存数据库)。缓存不仅可以加速用户的访问,同时也可以降低服务器的负载和压力。那么,了解常见的缓存淘汰算法的策略和原理就显得特别重要。常见的缓存算法LRU (Least recently used) 最近最少使用,如果数据最近被访问过,那么将来被访问的几率也更高。 LFU (Least fre转载 2020-06-10 21:36:59 · 81 阅读 · 0 评论