1. LinkedHashMap LinkedHashMap继承自HashMap,通过覆盖HashMap的一些方法,而在其内部维护了一个双向链表 1)get(覆盖)、afterNodeAccess、afterNodeInsertion(覆盖)和removeEldestEntry的组合可实现LRU(L ...
分类:
其他好文 时间:
2017-12-25 15:04:55
阅读次数:
168
双向链表 支持删除、插入 支持向一个元素之后和之前插入一个元素 支持在第i个元素之后插入一个元素 支持删除一个元素 支持删除第i个元素 ...
分类:
其他好文 时间:
2017-12-24 11:22:56
阅读次数:
237
聚簇索引和非聚簇索引: 聚簇索引: 按照每张表的主键构造一颗B+树,叶子节点存放的就是行记录的所有数据,也将聚簇索引的叶子节点成为数据页。页与页之间通过双向链表链接,页按照主键的顺序排序。每张表只能有一个聚簇索引。 对于主键的排序查询和范围查询非常快,叶子节点上的数据就是用户要查找的数据。 ...
分类:
数据库 时间:
2017-12-23 19:12:30
阅读次数:
179
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2151 这道题因为优先队列不怎么会用,而且手写堆的代码也不长,也想复习一下手写堆的写法……结果……WAWAWAWAW……看来我对堆的认识还是太浅薄了…… 这道题,如果没有限制不能选相邻的两个 ...
分类:
其他好文 时间:
2017-12-21 13:02:58
阅读次数:
160
借图:http://www.cnblogs.com/skywang12345/p/3561803.html#a33 双向链表 双向链表(双链表)是链表的一种。和单链表一样,双链表也是由节点组成,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。 实现:接口 using System; us ...
分类:
其他好文 时间:
2017-12-20 13:35:04
阅读次数:
149
Java LinkedList底层是基于双向链表来实现的,为了更好的理解其实现原理,自己对简单的链表结构做了Java实现,代码如下 class MyLinkedList{ private int size = 0; private Node head; private Node last; priv ...
分类:
其他好文 时间:
2017-12-16 13:14:36
阅读次数:
184
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路: 由于要求转换之后的链表是排好序的,我们可以中序遍历 ...
分类:
其他好文 时间:
2017-12-14 04:22:23
阅读次数:
111
1、简述 LinkList的底层其实就是一个双向链表,所谓的链表就是一个LinkList内部静态静态类(Node),对LinkList的所有操作本质上就是通过对LinkList中新建的Node对象 进行关联引用 2、实现 a、构造方法: LinkList一共提供了两种构造方法: b、定义内部私有属性 ...
分类:
编程语言 时间:
2017-12-13 00:06:01
阅读次数:
251
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路:分为循环版本和递归版本。 循环版本: 二叉搜索树的中序遍历就是递增序列,所以本题本质就是中序遍历。有两点非常需要注意: 1)开始自己认为需要对链表的首尾节点进行特殊处理 ...
分类:
其他好文 时间:
2017-12-11 22:11:02
阅读次数:
249
list相当于双向链表,所以快插快删比较方便(链式数据结构的性质),但是随机读取较慢 用一道luogu的水题做一做list,code如下 需要注意的是实现list的unique时,一定要先sort,否则不行。 list的sort默认从小到大排序,如果要从大到小排序的话,写个算子或者include一下 ...
分类:
其他好文 时间:
2017-12-10 19:29:40
阅读次数:
179