在数据结构这门课中,数据的逻辑结构会包括线性结构和非线性结构,线性表就是线性结构的一种。根据不同的存储结构,线性表可以分为顺序表和链表。链表包括单链表、循环链表、双向链表。下面是顺序表和单链表实现的不同点的比较。 (一)初始化 顺序表:为顺序表分配一个大小确定的数组空间,空表时长度为0; 链表:构造 ...
分类:
其他好文 时间:
2019-03-16 23:24:12
阅读次数:
202
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。 ...
分类:
其他好文 时间:
2019-03-13 19:46:36
阅读次数:
142
// 面试题24:反转链表 // 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的 // 头结点。 #include #include "List.h" ListNode* ReverseList(ListNode* pHead) { ListNode* pReversedHe... ...
分类:
其他好文 时间:
2019-03-07 14:21:19
阅读次数:
133
// 面试题22:链表中倒数第k个结点 // 题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯, // 本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点, // 从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是 // 值为4的... ...
分类:
其他好文 时间:
2019-03-06 23:07:58
阅读次数:
218
1.题目 输入一个链表,输出该链表中倒数第k个结点。 2.思路 Java代码,通过校验。代码思路如下:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。 然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。 ...
分类:
其他好文 时间:
2019-02-25 20:19:57
阅读次数:
136
定义一个方法(函数),实现输入一个链表的头结点,然后可以反转这个链表的方向,并输出反转之后的链表的头结点。 链表类的问题,涉及到了很多指针的操作,需要严谨的分析,全面的分析问题之后,在开始写代码,磨刀不误砍柴工!反转链表,直接的想法,就是把链表中指针的方向反转就可以了,如图所示: 假设 i 结点之前 ...
分类:
其他好文 时间:
2019-02-17 23:40:02
阅读次数:
184
HashMap的数据结构 HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的,他的底层结构是一个数组,而数组的元素是一个单向链表。HashMap默认初始化的是一个长度为16位的数组,每个数组储存的元素代表的是每一个链表的头结点。在jdk1.8中,当HashMap不断地插入元素, ...
分类:
编程语言 时间:
2019-02-17 22:12:26
阅读次数:
229
文字描述 循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。由此,从表中任一结点出发均可找到表中其他结点。 示意图 算法分析 插入、删除、查找等同单链表。 代码实现 1 // 2 // Created by lady on 19-1-27. 3 / ...
分类:
其他好文 时间:
2019-02-17 19:13:43
阅读次数:
201
# 对于带头结点的单链表存在两种的翻转操作# 基本构造如下 将a1到an元素再依次以头插入的方式生成链表,实现链表reverse # 图片来自网络 #我的 原文发布在https://blog.csdn.net/SHIDACSDN/article/details/80295020 ...
分类:
其他好文 时间:
2019-02-17 12:24:24
阅读次数:
194
1.ConcurrentHashmap简介 在使用HashMap时在多线程情况下扩容会出现CPU接近100%的情况,因为hashmap并不是线程安全的,通常我们可以使用在java体系中古老的hashtable类,该类基本上所有的方法都采用synchronized进行线程安全的控制,可想而知,在高并发 ...
分类:
其他好文 时间:
2019-02-08 20:15:40
阅读次数:
152