剑指offer第二十七题:二叉搜索树和双向链表 ...
分类:
其他好文 时间:
2016-06-16 21:34:40
阅读次数:
214
list是一个内部采用双向链表(doublelinkedlist)结构,像列表两端添加元素的时间复杂度为O(1)。主要功能是push、pop、获取一个范围的所有值等,操作中key理解为链表的名字。链表的最大长度是(2的32次方)。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list..
分类:
其他好文 时间:
2016-06-16 00:11:11
阅读次数:
167
Java源码之LinkedList
转载请注意出处:
一、LinkedList概述
本文采用jdk1.8进行分析。
LinkedList实现了List,Deque接口的双向链表,实现了链表的所有可选操作,并且可有null值。查找某个值的时候必须从头到尾的遍历链表。它是非线程安全的,当多个线程结构化修改同一链表时需要加上同步处理。(程结构化修改包括:添加、...
分类:
编程语言 时间:
2016-06-12 02:30:00
阅读次数:
255
在本章中,你将学习:
执行双链接列表
执行循环链接列表
应用链接列表以解决编程问题
现在,考虑一个示例,您需要以降序的方式显示这些数字。
如何解决此问题?
每一个节点链接到序列中的下一个节点,这意味着您只能以正向遍历列表,这样的链接列表称为单链接列表。要以降序的方式显示数字,您需要反转此链接列表。
运用算法以反转单链接列表。
1.声明三个变量...
分类:
编程语言 时间:
2016-06-12 02:04:57
阅读次数:
271
题目描述
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
方法一:非递归版
解题思路:
1.核心是中序遍历的非递归算法。
2.修改当前遍历节点与前一遍历节点的指针指向。
import java.util.Stack;
public TreeNode ConvertBSTToBiList(TreeNode r...
分类:
其他好文 时间:
2016-06-12 01:59:34
阅读次数:
125
将二叉查找树变为有序的双向链表(不能创建新节点,只调整指针) 递归 非递归 判断二叉树是不是平衡二叉树 递归 二叉树中两个节点的最低公共祖先节点 递归 非递归 ...
分类:
其他好文 时间:
2016-06-10 16:17:49
阅读次数:
168
Description 求两个不超过200位的非负整数的积。 解决方法:先考虑大整数存储结构,数组和链表都可以,因为数组使用不熟练,我先考虑链表,做了6小时才写好...也是醉了。下面简单介绍我的思路: 1、考虑链表的数据结构:先思考得知,链表结点要有pre、next指针,所以是双向链表,要设置头尾节 ...
分类:
其他好文 时间:
2016-06-07 16:21:28
阅读次数:
230
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表,要求不能创建任何新的结点,只能调整树中结点指针的指向。如上所示的二叉搜索树,转换成排序的双向链表就是5-><-6-><-7-><-8-><-9-><-10-><-11。因为要求转换成双向链表,而..
分类:
其他好文 时间:
2016-06-02 20:24:22
阅读次数:
200
更多信息可参考我的个人博客:贱贱的梦想
LinkedList简介
LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。
LinkedList 实现 List 接口,能进行队列操作。
LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。
ArrayList底层是由数组支持,而Lin...
分类:
编程语言 时间:
2016-05-30 15:19:55
阅读次数:
144
题目大意: 在n个点中,选出k对相邻的互不相同的点,使k段距离的总和最小。 贪心,双向链表。 首先,点之间的距离是动态的,所以要用堆来维护。 每次都选择最近的点。但因为其他情况,可能最终不会选择这对点连在一起 所以把俩个点旁边的路径的和减去俩个点之间距离再加进去,表示连旁边的俩条边,不连现在的边。 ... ...
分类:
其他好文 时间:
2016-05-27 21:42:35
阅读次数:
203