1、链表(Linked List) 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的 ...
分类:
编程语言 时间:
2019-04-13 21:47:45
阅读次数:
179
给定一个链表(链表结点包含一个整型值)的头结点 head。 同时给定列表 G,该列表是上述链表中整型值的一个子集。 返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。 示例 1: 示例 2: ...
分类:
其他好文 时间:
2019-04-09 09:41:36
阅读次数:
158
链表:由一系列不必再内存中相连的结构组成,每一个结构均含有表元素和指向后继结构的指针。 与数组、列表的主要区别: 内存不连续; 不能通过下标随机访问。 优点: 插入、删除操作效率高,时间复杂度为o(1); 内存利用率高,不会浪费内存; 大小不固定,扩展灵活; 缺点: 随机访问性差,查找效率低,时间复 ...
分类:
其他好文 时间:
2019-04-09 00:18:52
阅读次数:
134
第三章小结 第三章我们主要学习了栈和队列。经过第一次的写博客,与课后的学习与借鉴。我看到很多其他的同学在整理知识的时候采用了画大纲图,架构图的方法。不得不说,那样子确实比纯粹的文字更加简单明了。于是我决定也学习和效仿一下。 以下便是图解: 通过大图来看,很明显,和前面学习的顺序表,链表栈和队列的操作 ...
分类:
其他好文 时间:
2019-03-30 10:32:12
阅读次数:
160
题目: 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。 输入格式: 每个输入包含 1 个 ...
分类:
其他好文 时间:
2019-03-26 21:04:41
阅读次数:
185
1、线性表链式存储结构及基本操作算法实现 (1)单链表存储结构类的定义: (2)初始化带头结点空单链表构造函数实现 (3)利用数组初始化带头结点的单链表构造函数实现 (4)在带头结点单链表的第i个位置前插入元素e算法 (5)在带头结点单链表中删除第i个元素算法 (6)遍历单链表元素算法 (7)求单链 ...
分类:
编程语言 时间:
2019-03-26 01:33:52
阅读次数:
183
在数据结构这门课中,数据的逻辑结构会包括线性结构和非线性结构,线性表就是线性结构的一种。根据不同的存储结构,线性表可以分为顺序表和链表。链表包括单链表、循环链表、双向链表。下面是顺序表和单链表实现的不同点的比较。 (一)初始化 顺序表:为顺序表分配一个大小确定的数组空间,空表时长度为0; 链表:构造 ...
分类:
其他好文 时间:
2019-03-16 23:24:12
阅读次数:
202
链表 用不连续的、或连续的存储单元存储线性表元素 每个数据元素后,加上一个地址域,其地址为其直接后继的地址;数据元素和地址域组成结点。 头指针:指向链表的第一个结点,是第一个节点的地址,或链表在存储器中的首地址 头指针的类型与其他节点指针域的指针类型一致,都是指向同一类型的结点 单链表由头指针唯一确 ...
分类:
其他好文 时间:
2019-03-06 20:38:36
阅读次数:
187
来两道关于链表链接的题目: 题目一: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 本题要考虑到其中一条链表是空或者两个都是空的情况。 在每个链表安上一个指针,对比一次,提取一个结点,接到目标链表上。 接下来给出非递归方式 ...
分类:
其他好文 时间:
2019-03-03 21:00:09
阅读次数:
136
1、链表 链表(linked list)即使是一些包含数据的独立数据结构的(Node)集合. 链表中的每个节点通过链或指针链接在一起. 程序通过指针访问链表中的节点. 节点通常是动态分配的,但也有由节点数组构建的链表(即使这样,程序也是通过指针来遍历链表). 1.1 单链表 单链表中,每个节点包含一 ...
分类:
其他好文 时间:
2019-02-28 18:38:23
阅读次数:
118