线性表是其组成元素间具有线性关系的一种线性结构,对线性表的基本操作主要有插入、删除、查找、替换等,这些操作可以在线性表的任何位置进行。线性表可以采用顺序存储结构和链式存储结构表示。 本接口的类属于dataStructure包的linearList子包。线性表接口LList声明如下,描述线性表的取值、 ...
分类:
编程语言 时间:
2017-09-03 01:09:15
阅读次数:
284
相对于顺序存储结构而言,利用链式存储结构的二叉树已经有了很高的存储效率,单是还是有空间上未利用到的地方,比如说叶子结点的左右孩子是空的,指向左右孩子的指针就是空闲的,没有被利用到;而且,有时候给定一个结点,我们需要查找该结点的前驱结点和后继结点,如果按照中序遍历的做法去查找的话,对于一个非叶子结点, ...
分类:
其他好文 时间:
2017-08-27 17:08:53
阅读次数:
249
单链表,线性表的链式存储结构,逻辑相邻,物理位置不相邻 描述如下 数据域data存储数据,指针域 next 使得链表逻辑相邻; 头指针L指向链表表头,包含头节点链表的表头是一个空数据域节点,不包含表头链表表头即是第一个元素。 单链表的插入分为两种形式,栈式插入(先进链表的在最后面)队列式插入(先进链 ...
分类:
其他好文 时间:
2017-08-24 22:39:52
阅读次数:
156
1双向线性链表 1.1 问题 双向线性链表是採用链式存储的方式存储的线性表。链式存储结构是由一系列结点(链表中每个元素称为结点)组成,每个结点包含两个部分:一个是存储数据元素的数据域,还有一个是存储当前结点的前驱结点和后继结点地址的指针域,结点是在有数据时动态生成的。是一种物理存储单元上非连续、非顺 ...
分类:
编程语言 时间:
2017-08-19 21:08:23
阅读次数:
194
二分查找又称为折半查找,仅适用于有序排列的顺序表,即线性表的顺序存储结构,具有随机存储特性。二分查找不适合链式存储结构。 ...
分类:
编程语言 时间:
2017-08-13 15:13:14
阅读次数:
147
谈到链表之前,先说一下线性表。线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表有两种存储方式,一种是顺序存储结构,另一种是链式存储结构。 顺序存储结构就是两个相邻的元素在内存中也是相邻的 ...
分类:
其他好文 时间:
2017-08-13 00:11:40
阅读次数:
155
http://developer.51cto.com/art/201404/435072.htm 这篇文章讲邻接表讲的很好。记录一下自己的理解。 邻接表用的是链式存储结构,根据图很好理解,但是一看代码就懵了。拿原文提到的一个数据举例: 4 5 1 4 9 4 3 8 1 2 5 2 4 6 1 3 ...
分类:
其他好文 时间:
2017-08-12 10:24:03
阅读次数:
159
队列和栈简单的区别为栈是后进先出,队列是先进先出。队列也是特殊的线性表,所以队列也分为顺序存储结构和链式存储结构。本篇主要描述顺序存储结构。 我们先假定一个队列里有5个元素,当我们添加新元素时,添加到队列的最后一个位置,所以时间复杂度为O(1),当我们弹出元素时,需要将队列头部的元素弹出,并将后面的 ...
分类:
其他好文 时间:
2017-08-08 15:20:53
阅读次数:
169
链式存储结构的定义 1.概念定义: - n个结点离散分配 - 彼此通过指针相连 - 每个结点只有一个前驱结点和一个后继结点 - 首结点没有前驱结点,尾结点没有后继结点 2.专业术语 -首结点:第一个有有效数据的结点 -尾结点:最后一个有有效数据的结点 -头结点:第一个有效结点之前的那个结点,头结点并 ...
分类:
其他好文 时间:
2017-07-24 19:03:40
阅读次数:
158