链表

开篇问题

问题:如何用链表来实现 LRU 缓存淘汰策略呢?

链表的作用

链表一个经典的应用场景就是LRU缓存淘汰算法;

缓存是一种提高数据读取性能的技术,在开发中有着非常广泛的应用,由于缓存的大小有限,当缓存被占满时,哪些数据应该被清理,哪些数据应该被保留?这就需要淘汰策略来决定,常见的淘汰策略有三种:先进先出策略FIFO(First In, First Out)、最少使用策略LFU(Least Frequently Used)、最近最少使用策略LRU(Least Recently Used)。

打个比方:假如说你买了很多书籍,但有一天发现书太多了,太占空间,你要做个大扫除。那么这个时候你会选择扔掉哪些书籍?对应一下,其实就是我们上边说的三种策略;


数组

问题:为什么数组下标是从0开始,而不是从1开始;

什么是数组?

数组是一种线性表数据结构,它用一组连续的内存空间来存储一组相同类型的数据


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×