最近在看jdk1.7的时候,发现LinkedList
和1.6中的变化。首先,简单介绍一下LinkedList:LinkedList是List接口的双向链表实现。由于是链表结构,所以长度没有限制;而且添加/删除元素的时候,只需要改变指针的指向(把链表断开,插入/删除元素,再把链表连起来)即可,非常方...
分类:
其他好文 时间:
2014-04-30 00:28:44
阅读次数:
442
1.LRU1.1.原理LRU(Leastrecentlyused,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2.实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1.新数据插入到链表头部;2.每当缓存命中...
分类:
其他好文 时间:
2014-04-29 19:54:39
阅读次数:
553
1、宏定义swap,加括号有什么意义 #define swap(x,y) x =
(x)+(y);y=(x)-(y);x=(x)-(y)
加括号是为了处理表达式参数(即宏的参数可能是个算法表达式)时不出错,因为宏替换就是文本替换,所以如果有以下情况: #define COM(A,B)
(A)*(B)...
分类:
其他好文 时间:
2014-04-29 17:47:29
阅读次数:
585
两种思路,一种递归的解决T(n) = T(n-2) +
O(n);另外一种思路,将后一半的链表原地反转,然后再逐个遍历拼接到前一半的链表上。这种做法能够在O(n)的时间复杂度内完成。
分类:
其他好文 时间:
2014-04-29 16:06:41
阅读次数:
395
2014-04-29
00:15题目:将二叉搜索树展开成一个双向链表,要求这个链表仍是有序的,而且不能另外分配对象,就地完成。解法:Leetcode上也有,递归解法。代码: 1 //
17.13 Flatten a binary search tree into a doubly linked li...
分类:
其他好文 时间:
2014-04-29 14:51:49
阅读次数:
460
2014-04-29
01:51题目:你有一个文本文件,每行一个单词。给定两个单词,请找出这两个单词在文件中出现的其中一对位置,使得这两个位置的距离最短。解法:我的思路是建立倒排索引,计算出所有单词出现的所有位置。下面代码只给出了两个索引的处理方法。倒排索引一般以链表的形式出现,通过顺序扫描两个链表...
分类:
其他好文 时间:
2014-04-29 14:43:33
阅读次数:
388
转自http://developer.51cto.com/art/201107/273003.htmjava版数据结构与算法,希望对你有帮助。线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试...
分类:
编程语言 时间:
2014-04-29 09:22:45
阅读次数:
632
此题虽陈旧,却值得琢磨,考察的是一个IT的思维能力,代码的核心在于算法。能从一个简单的问题挖掘出不一样的东西,这个才是IT的精髓。很遗憾,多年的老鸟居然一个也写不出来,或许你会说这并不能代表什么?但是可以想象他的代码质量及其性能如何?!解决问题固然是好,更体现IT精髓却不是它而是从解决方案中找到最优...
分类:
数据库 时间:
2014-04-28 12:22:06
阅读次数:
709
description:given two sorted singly list, merge
them into one using constant additional spacealgorithm:we will reference the two
linked list as list1 ...
分类:
其他好文 时间:
2014-04-28 00:32:52
阅读次数:
711