CS-Notes/interview/struct/algorithm.md

30 lines
1.0 KiB
Markdown
Raw Normal View History

2018-08-11 17:02:40 +08:00
# 大顶堆和小顶堆
比如求10亿个数中的最大的前10个数时时构建只有10个元素的小顶堆如果比堆顶小则不处理如果比堆顶大则替换堆顶然后依次下沉到适当的位置。
2018-08-24 20:07:40 +08:00
比如求10亿个数中的最小的前10个数时时构建只有10个元素的大顶堆如果比堆顶大则不处理如果比堆顶小则替换堆顶然后依次下沉到适当的位置。
# 堆排序的原理
2018-09-10 11:50:48 +08:00
- [图解排序算法(三)之堆排序](https://www.cnblogs.com/chengxiao/p/6129630.html)
# 求TOPk的问题
1. 使用小顶堆求Topk
2. 使用快速查找法找到第K大的元素剩下的一边就是topK
3. 全排序
# KMP算法
一种字符串查找算法
参考链接:
- [从头到尾彻底理解KMP](https://blog.csdn.net/v_july_v/article/details/7041827)
- [阮一峰讲解](http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html)
# LRU实现
最小访问的算法实现
2018-09-10 12:03:30 +08:00
- [LRU缓存实现(Java)](https://www.cnblogs.com/lzrabbit/p/3734850.html)