一、简介REmoteDIctionaryServer(Redis),redis是一个基于内存的单机key/value系统,类似memcached,但支持value为多种形式,包括:字符串(string)、链表(list)、集合(set)、有序集合(sortedset)和hashtable二、特点1优...
分类:
其他好文 时间:
2014-07-22 23:14:34
阅读次数:
462
文中用快慢指针详细分析了在有环路的链表上,两个指针会在何时、何地相遇,如何知道相遇点偏离了环路起点多远。
分类:
其他好文 时间:
2014-07-22 23:13:13
阅读次数:
375
原题地址:http://oj.leetcode.com/problems/sort-list/题意:链表的排序。要求:时间复杂度O(nlogn),空间复杂度O(1)。解题思路:由于题目对时间复杂度和空间复杂度要求比较高,所以查看了各种解法,最好的解法就是归并排序,由于链表在归并操作时并不需要像数组的...
分类:
编程语言 时间:
2014-04-30 15:09:41
阅读次数:
428
队列是一种先进先出(FIFO)的线性表,他只允许在表的一端进行插入,而在另一端删除元素。在队列中,允许插入的一端叫做队尾(rear),允许删除的一端则称为对头(front)。链队列——队列的链式表示和实现
用链表表示的队列简称链队列。一个链队列显然需要两个分别指示对头和队尾的指针才能唯一确定。...
分类:
其他好文 时间:
2014-04-30 14:25:13
阅读次数:
419
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