目录

  • 1 绪论
    • 1.1 数据结构的定义和基本术语
    • 1.2 数据的逻辑结构和存储结构
    • 1.3 算法和算法分析
  • 2 线性表
    • 2.1 线性表的定义及逻辑结构
    • 2.2 顺序存储结构
    • 2.3 链式存储结构
    • 2.4 应用:一元多项式的表示和相加
  • 3 栈和队列
    • 3.1 栈
    • 3.2 队列
  • 4 串
    • 4.1 资源
  • 5 数组
    • 5.1 数组
    • 5.2 广义表
  • 6 树和二叉树
    • 6.1 树的定义和基本术语
    • 6.2 二叉树
    • 6.3 遍历二叉树和线索二叉树
    • 6.4 树和森林
    • 6.5 哈夫曼树及其应用
  • 7 图
    • 7.1 图的定义和基本术语
    • 7.2 图的存储结构
    • 7.3 图的遍历
    • 7.4 图的应用
  • 8 查找
    • 8.1 查找的基本概念
    • 8.2 基于线性表的查找
    • 8.3 基于树的查找
    • 8.4 哈希表
  • 9 内部排序
    • 9.1 排序的定义和种类
    • 9.2 插入排序
    • 9.3 B-树和B+树
    • 9.4 交换排序
    • 9.5 选择排序
    • 9.6 归并排序和基数排序
  • 10 实验
    • 10.1 目的要求
      • 10.1.1 参考代码
线性表的定义及逻辑结构

线性表(Linear List)是nn0)个类型相同的数据元素的有限序列,通常记为:

(a1a2… ai-1aiai+1…an) 

其中n为表长,n0 时称为空表。当n>0时,除第一个元素无直接前驱、最后一个元素无直接后继外,余的每个数据元素只有一个直接前驱和一个直接后继,数据元素之间具有一对一的关系。

线性表中每一个数据元素是同种数据类型的,可以是字母、数值、结构体等数据类型。例如:

1(ABZ),可以表示为一个线性表,表中数据元素是英文字母。在字母表示的线性表中每个数据元素间都是有序排列的,如:字母‘B’的前驱元素是‘A’,字母‘B’的后继元素是‘C’。线性表中数据元素的个数为26,所以线性表的长度为26。如果将这个线性表用C语言表示,数据类型为:char

2)以整型为数据元素的线性表:(123456)数据元素是整型(int),线性表的长度为6

3数据元素可以是简单数据类型,也可以是复杂的数据类型。如表1-1学生信息表,数据元素(data elements)是一名学生的全套信息,由若干数据项(data item)组成,由描述学生的一些属性组成,包括:学号、姓名性别、专业等数据项。