
数据结构和算法
xgq330409675
这个作者很懒,什么都没留下…
展开
-
LRU算法实现
LRU,即最近最少使用,是一种缓存算法,其核心思想是使用一个Map来保存数据并使用双向链表来维持顺序——它是将插入的每一条记录都包装成一个节点,每个节点包含两个其他节点的引用,一个指向前一个节点,另一个指向后一个节点,(如下图所示:) 其中Node的数据结构为: class CacheNode { Object key; O...原创 2018-09-13 17:29:15 · 3772 阅读 · 0 评论 -
java数据结构之ArrayList源码分析
ArrayList是动态数组,它可以动态的增加和减少元素,灵活的设置数组的大小。我们知道,数组定义后其大小就无法变化了,那么ArrayList如是如何实现动态数组这个功能的呢?下面我们就从ArrayList的源码来分析:1、ArrayList的初始化public class ArrayList<E&amp原创 2018-09-20 13:43:50 · 319 阅读 · 0 评论 -
java数据结构之LinkedList
LinkedList源码对其定义为Doubly-linked list implementation of the List and Deque interfaces即LinkedList是一个双向链表结构,它是以节点的形式保存元素,添加到其中的元素都会被包装成节点,每个节点包含两个其他节点的引用,一个指向前一个节点,另一个指向后一个节点。因为是一个双向链表,因此可以在链表的任意位置插入...原创 2018-09-20 20:12:03 · 309 阅读 · 0 评论