单链表实现lru 越靠近链表尾部的节点是越早之前访问的 当有一个新的数据被访问时,从链表头开始顺序遍历链表 1.如果此数据之前已经被缓存在链表中 遍历得到这个数据对应的节点,并将其从原来的位置删除,然后再插入到链表的头部 2.没在缓存链表里 2.1 缓存未满,将次节点直接插入到链表的头部 2.2 已 ...
分类:
其他好文 时间:
2019-04-05 21:32:46
阅读次数:
204
在数据结构这门课中,数据的逻辑结构会包括线性结构和非线性结构,线性表就是线性结构的一种。根据不同的存储结构,线性表可以分为顺序表和链表。链表包括单链表、循环链表、双向链表。下面是顺序表和单链表实现的不同点的比较。 (一)初始化 顺序表:为顺序表分配一个大小确定的数组空间,空表时长度为0; 链表:构造 ...
分类:
其他好文 时间:
2019-03-16 23:24:12
阅读次数:
202
文章目录 前言 实现清单 链表实现 更新 总结 文章目录 前言 实现清单 链表实现 更新 总结 前言 实现清单 链表实现 更新 总结 前言 算法和数据结构是一个亘古不变的话题,作为一个程序员,掌握常用的数据结构实现是非常非常的有必要的。 实现清单 实现链表,本质上和语言是无关的。但是灵活度却和实现它 ...
分类:
编程语言 时间:
2019-01-26 17:11:44
阅读次数:
189
本文例程下载链接: 链表 vs 数组 链表和数组的最大区别在于链表不支持随机访问,不能像数组那样对任意一个(索引)位置的元素进行访问,而需要从头节点开始,一个一个往后访问直到查找到目标位置。 单链表 与顺序表相对,链表是一种链式存储方式。单链表是实现顺序表最简单的一种链表,根据是否包含虚拟头节点,分 ...
分类:
编程语言 时间:
2018-10-29 10:24:41
阅读次数:
217
今天在看单元测试的时候无意中看到google gtest的例子有个实现Queue队列的数据结构它是用单链表实现的。索性今天就分享一下队列和栈这两种实现方法。 Queue 单链表实现 1 // Copyright 2005, Google Inc. 2 // All rights reserved. ...
分类:
编程语言 时间:
2018-09-29 20:19:56
阅读次数:
158
用单链表实现一个栈,要求Push Pop的运行时间为O(1),来自《算法导论》习题10.2 2。 因为Push和Pop操作伴随着栈顶元素的插入和删除,所以,这个问题的本质是:在单链表的哪个位置进行插入和删除,其运行时间为O(1)?初步来看,可能的选项有两个,头部和尾部。 又因为,要想在单链表上插入和 ...
分类:
其他好文 时间:
2018-09-23 18:17:48
阅读次数:
459
概述 LinkedBlockingQueue内部由单链表实现,只能从head取元素,从tail添加元素。添加元素和获取元素都有独立的锁,也就是说LinkedBlockingQueue是读写分离的,读写操作可以并行执行。LinkedBlockingQueue采用可重入锁(ReentrantLock)来 ...
分类:
数据库 时间:
2018-08-30 15:44:33
阅读次数:
185
(一)前提 (二)链式线性表两种结构(带有头结点和不带头结点) 不带头结点: 空链表: 带有头结点: 空链表: (三)头结点和头指针的区别 头指针: 头结点: (四)带头结点的单链表实现 1.InitList 2.1 Insert range of 5 elements by head 2.2 In ...
分类:
其他好文 时间:
2018-08-04 14:33:57
阅读次数:
181