文章 2021-12-30 来自:开发者社区

【图解数据结构与算法】LRU缓存淘汰算法面试时到底该怎么写(下)

Java LinkedHashMapHashMap就是通过hash表这种数据结构实现的。而LinkedHashMap并不仅仅是通过链表法解决散列冲突的。HashMap<Integer, Integer> m = new LinkedHashMap<>(); m.put(3, 11); m.put(1, 12); m.put(5, 23); m.put(2, 22)...

【图解数据结构与算法】LRU缓存淘汰算法面试时到底该怎么写(下)
文章 2021-12-30 来自:开发者社区

【图解数据结构与算法】LRU缓存淘汰算法面试时到底该怎么写(上)

链表实现的LRU缓存淘汰算法的时间复杂度是O(n),当时我也提到了,通过散列表可以将这个时间复杂度降低到O(1)。Redis的有序集合是使用跳表来实现的,跳表可以看作一种改进版的链表。Redis有序集合不仅使用了跳表,还用到了散列表。LinkedHashMap也用到了散列表和链表两种数据结构。散列表和链表都是如何组合起来使用的,...

【图解数据结构与算法】LRU缓存淘汰算法面试时到底该怎么写(上)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Java面试那些事儿

手把手带您学习Java,开启编程之路。

+关注