学习笔记4 线性表

来源:互联网 发布:java异常处理设计 编辑:程序博客网 时间:2024/06/13 05:01

1. 线性表定义

线性表,由零个或多个数据元素组成的有限序列。像排队一样,具有线一样性质的结构。元素之间是有先来后到的,而且是有限的。若元素存在多个,第一个元素无前驱,最后一个元素无后继,其它元素都有且只有一个前驱和后继。
线性表元素的个数n定义为线性表的长度,当n=0时,称为空表。
考题模拟:
(1).公司的组织架构是线性关系吗?不是
(2).班级里同学之间的友谊?不是
(3).情侣间的爱情关系?不是
(4).班级点名册?是,按学号排成了线性表。

2. 数据类型

2.1 定义

一组性质相同的值的集合及定义在此集合上的一些操作的总称。例如浮点型,字符型就是数据类型。

2.2 分类

2.2.1 原子类型

不可以再分解的基本类型,例如整型,浮点型,字符型等。

2.2.2 结构类型

由若干个类型组合而成的,是可以再分解的,例如整型数组是由若干整型数据组成的。

2.3 抽象数据类型

指一个数学模型及定义在该模型上的一组操作,有点像类的概念。就是把数据类型和相关操作捆绑在一起。
这里写图片描述

3. 线性表的抽象数据类型

这里写图片描述
这里写图片描述
这里写图片描述

4. 线性表的物理存储结构

4.1 顺序存储结构

用一段地址连续的存储单元依次存储线性表的数据元素。也就是在内存中找个初始地址,通过占位的形式,把一定的内存空间给占了,然后把相同数据类型的数据元素依次放在这块空地中。
线性表从1开始计数。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

4.2 链式存储结构

用一组任意的存储单元存储线性表的数据元素,这组存储单元可以存在内存中未被占用的任意位置。
链式存储结构中,除了要存储数据元素信息外,还要存储它的后继元素的存储地址(指针)。存储数据元素信息的域称为数据域,存储直接后继位置的域称为指针域,指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映像,称为结点(Node).

4.2.1 单链表

链表中每个结点只包含一个指针域则称为单链表
这里写图片描述

4.2.1.1 头指针和头结点

这里写图片描述
这里写图片描述
这里写图片描述

4.2.1.2 单链表的读取

这里写图片描述
未完待续…

原创粉丝点击