查找链表中倒数第k个结点题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: ...
分类:
编程语言 时间:
2017-03-15 15:03:22
阅读次数:
201
链表的实现一个是node,一个是List。node是链表每个基本组成部分,List操作node。我的思路大概是这样。 node部分代码: List实现一系列对链表的操作: 测试代码: 这个就是一个简单的实现,对于其中的一些算法的实现没有做比较深的研究。有时间去研究一下java实现List的源码。 ...
分类:
编程语言 时间:
2017-03-05 11:30:43
阅读次数:
218
链表 单向链表 非常常用的一种数据结构对于数组,逻辑关系上相邻的两个元素的物理位置也是相邻的,这种结构的优点是随机存储任意位置的元素,但缺点是如果从数组中间删除或插入元素的时候,需要大量的移动元素,效率不高。链表存储结构的特点,元素的存储单元可以是连续的,也可以是不连续的,因此为了表示每个元素a,与 ...
分类:
其他好文 时间:
2017-03-04 00:10:28
阅读次数:
172
概要 学完了Map的全部内容,我们再回头开开Map的框架图。 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/E ...
分类:
编程语言 时间:
2017-02-13 15:22:29
阅读次数:
272
今天突然想起自己的cnblog有差不多一年没更了😂放一道很久前做的也写好了很久但是一直忘记发布的题.如果有不同的算法欢迎分享~ [PAT]02-线性结构2 Reversing Linked List (25分) Given a constant KK and a singly linked lis ...
分类:
编程语言 时间:
2017-02-01 16:27:08
阅读次数:
555
定义两个指针fast、slow,其中,fast是快指针,slow是慢指针,二者的初始值都指向链表头, slow每次前进一步,fast每次前进两步,两个指针同时向前移动,快指针每移动一次都要跟慢指针比较,直到快指针等于慢指针为止,就证明了这个链表是带环的单向链表。 否则,这个是不带环的链表(fast先 ...
分类:
其他好文 时间:
2017-01-11 13:58:07
阅读次数:
125
一,循环链表的概念 1.什么是循环链表 所谓的循环链表就是让单向链表的首尾相连,组成一个环状。 2.循环链表的典型应用 约瑟夫环问题。 3.实现循环链表的重点 1,循环链表在插入第一个元素的时候,需要我们将第一元素的指针域指向其自身,也就构成了循环链表。 2,循环链表基于单向链表而生,单是比循环链表 ...
分类:
其他好文 时间:
2017-01-07 08:15:18
阅读次数:
227
什么是链表?链表是一种重要的数据结构,它最大的优点是可以进行动态的存储分配。链表有单向链表,双向链表,循环链表。对于c,这里我们只讨论单向链表。我们知道,内存是由栈和堆组成的。栈空间是由操作系统和编译系统控制的,比如我们定义int a;这个a就是在栈中开辟内存单元的。而堆空间,则允许给用户提供了虚拟 ...
分类:
其他好文 时间:
2016-12-19 11:10:57
阅读次数:
239
说到redis的Dict(字典),虽说算法上跟市面上一般的Dict实现没有什么区别,但是redis的Dict有2个特殊的地方那就是它的rehash(重新散列)和它的字典节点单向链表。 以下是dict用到的结构: 由于楼主算法能力有限:所以对哈希算法没有太深的了解,所以在这里算法就不详写了,大家有兴趣 ...
分类:
其他好文 时间:
2016-12-11 13:08:05
阅读次数:
191
首先,对于链表来说,我们不能像数组一样直接访问,所以我们想到要求倒数第K个节点首先要知道最后一个节点。 然后从最后一个节点往前数K个。 最后得到想要的值。 但是这是不对的,为什么呢?因为题目给出的是单向链表,只能从前往后找。 所以我们需要换一种思路。 定两个指针。 都从链表的头开始走,一个先走一个后 ...
分类:
其他好文 时间:
2016-11-28 08:50:09
阅读次数:
197