转载请注明本文出处:http://www.cnblogs.com/Starshot/p/6918569.html 链表的结构是由一个一个节点组成的,所谓链,就是每个节点的头尾连在一起。而单向链表就是:每个节点包含了当前节点的值和下一个节点引用。双向链表就是每个节点包含了当前节点的值和上下两个节点的引 ...
分类:
编程语言 时间:
2017-05-29 19:13:19
阅读次数:
215
1.带表头的单向链表 (1)不带表头的单向链表在实现插入和删除时必须区分头结点和其它节点的处理。 (2)使用带表头的单向链表的优点:不用考虑头结点的单独处理。 表头节点:数据域没有值,指针域指向单向链表中数据域含值的第一个结点。 2.代表头的单向链表的基本操作 #include <stdio.h> ...
分类:
其他好文 时间:
2017-05-25 18:20:29
阅读次数:
247
HashMap的数据结构是数组+单向链表,数组里面存储就是链表的Head节点,链表节点存储的是我们put进去的key/value。 如果要实现HashMap,主要有三个重要的功能点: 1.初始化,也就是HashMap的构造方法 在初始化的时候要给数组的大小一个默认值,也就是常说的桶数量,当然这个值是 ...
分类:
其他好文 时间:
2017-05-12 17:27:26
阅读次数:
147
ConcurrentHashMap与HashMap,和HashTable 的区别? ConcurrentHashMap是一个线程安全的key-value数据结构,而HashMap不是。ConcurrentHashMap的数据结构是 数组 + 数组 + 单向链表。HashMap的数据结构是 数组 + ...
分类:
其他好文 时间:
2017-05-12 01:42:20
阅读次数:
121
单向链表 link.h link.cpp main.cpp ...
分类:
编程语言 时间:
2017-05-08 23:26:50
阅读次数:
317
题目描述 给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点。 解题思路 在单向链表中删除一个节点,最常规的做法无疑是从链表的头结点开始,顺序的遍历查找要删除的节点,并在链表中删除该节点。这种思路由于需要顺序查找,时间复杂度自然就是$O(n)$了。 之所以需要从头开始查找,是因 ...
分类:
其他好文 时间:
2017-05-07 23:11:06
阅读次数:
293
上一篇博文中主要总结线性表中的链式存储结构实现,比方单向链表、循环链表。还通过对照链表和顺序表的多项式的存储表示。说明链表的长处。能够參看上篇博文http://blog.csdn.net/lg1259156776/article/details/47018813 以下先对没有介绍的链表中的双链表进行 ...
分类:
其他好文 时间:
2017-05-06 17:51:20
阅读次数:
304
在《数据结构与算法分析--c语言描述》一书中,作者指出了使用单向链表作为实现多项式的方法。但是没有给出具体实现。下面自己对其进行实现。只考虑功能。对其他细节不暂时不考虑。程序完成两个功能,使用单向链表完成多项式的加法和乘法。首先看加法,解决加法问题的思想在于对表示进行操作的两个链表表示的多项式按照指 ...
分类:
其他好文 时间:
2017-05-01 12:52:39
阅读次数:
348
所谓双向链表,就是链表可以从两个方向进行遍历,有了对单向链表的了解,想要创建一个双向链表就是相对容易很多。来看看《数据结构与算法分析--C语言描述》这本书上咋说的。原文:有时候以倒叙的方式扫描链表很有用,标准的实现方法(单向链表)对此无能为力,然而解决方法却很简单,只要在数据结构上附加一个域,使它包 ...
分类:
其他好文 时间:
2017-04-30 18:36:01
阅读次数:
250
问题描述: 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。链表结点的定义如下: struct ListNode{ int m_nValue; ListNode* m_pNext; }; 分析: 老规矩,先考虑最简单粗暴的方法,既然是要删除结点,那么按照之前在数据结构中总结 ...
分类:
其他好文 时间:
2017-04-24 14:04:47
阅读次数:
130