目录

  • 1 课程资料
    • 1.1 课程标准
    • 1.2 教学日历
    • 1.3 说课课件
  • 2 第一章绪论
    • 2.1 本章教学目标
    • 2.2 数据结构简介
    • 2.3 数据结构类型
    • 2.4 算法分析
    • 2.5 本章讲义
    • 2.6 本章测验题
    • 2.7 测验
  • 3 线性结构
    • 3.1 本章教学目标
    • 3.2 线性表
    • 3.3 线性表的顺序存储及运算实现
      • 3.3.1 本节讲义
    • 3.4 线性表的链式存储和 运算实现
      • 3.4.1 本节讲义
    • 3.5 应用
    • 3.6 数组
      • 3.6.1 讲义
    • 3.7 本章测验题
    • 3.8 测验
    • 3.9 作业
  • 4 第三章栈和队列
    • 4.1 本章教学目标
    • 4.2 第一课时栈
      • 4.2.1 讲义
    • 4.3 第二课时队列
      • 4.3.1 讲义
    • 4.4 应用
      • 4.4.1 讲义
    • 4.5 本章测验题
  • 5 第四章串
    • 5.1 第一课时概念
    • 5.2 本章学习目标
    • 5.3 本章测验题
  • 6 第五章树和二叉树
    • 6.1 本章学习目标
    • 6.2 第一课时树的定义及基本术语
    • 6.3 第二课时二叉树定义性质存储
    • 6.4 第三课时二叉树遍历
    • 6.5 第四二叉排序与平衡二叉树
    • 6.6 第五树森林二叉树之间转换
    • 6.7 第六课时哈夫曼树
    • 6.8 本章测验题
    • 6.9 测验
    • 6.10 作业
  • 7 第六章图
    • 7.1 本章学习目标
    • 7.2 第一课时图的基本概念
    • 7.3 第二课时图的存储
    • 7.4 第三课时图的遍历
    • 7.5 第四课时最小生成树
    • 7.6 第五课时最短路径
    • 7.7 第六课时拓扑排序
    • 7.8 第七课时关键路程
    • 7.9 本章测验题
    • 7.10 测验
    • 7.11 作业
  • 8 第七章查找
    • 8.1 本章学习目标
    • 8.2 第一课时顺序查找二分查找
    • 8.3 第二课时哈希表
    • 8.4 本章测验题
    • 8.5 测验
    • 8.6 作业
  • 9 第八章排序
    • 9.1 本章学习目标
    • 9.2 第一课时基本概念
    • 9.3 第二课时插入选择排序
    • 9.4 第三课时交换排序
    • 9.5 第四课时归并 基排序及比较
    • 9.6 本章测验题
    • 9.7 测验
    • 9.8 作业
线性表

线性表的定义:

线性表:简称表,是nn≥0)个具有相同类型的数据元素的有限序列

线性表的长度:线性表中数据元素的个数。

空表:长度等于零的线性表,记为:L=(  )。

非空表记为:L=(a1,a2 ,…, ai-1, ai,…, an)

其中,ai1≤in)称为数据元素;


下角标 i表示该元素在线性表中的位置或序号 。

线性表的图形表示:

线性表(a1,a2, …, ai-1,ai , …,an)的图形表示如下:

a i可以是简单数据类型,也可以是复杂数据类型,如结构体等,在今后的讨论中如不特别声明,常用简单数据类型来表示数据元素。

线性表的特性:

      1.有限性:线性表中数据元素的个数是有穷的。

2.相同性:线性表中数据元素的类型是同一的。

3.顺序性:线性表中相邻的数据元素ai-1ai之间存在序偶关系<ai-1, ai>,即ai-1ai的前驱, aiai-1的后继;a1无前驱,an无后继,其它每个元素有且仅有一个前驱和一个后继。

ADT List{


     数据对象:D={ ai | ai∈ElemSet,i=1,2,3,…,n,n≥0}


     数据关系:R={<ai-1, ai> | ai-1, ai∈D , i=1,2,3,…,n }


基本操作集:


(1) Init_List(L)构造并初始化一个空的线性表。


(2) Length_List(L) 返回线性表中的所含元素的个数。


(3) Get_List(L,i)返回线性表L中的第i个元素的值或地址,1≤i≤Length_List(L)


(4) Locate_List(L,x)在表 L中查找值为x的数据元素,其结果返回在 L中首次出现的值为x的那个元素的序号或地址,称为查找成功;否则,在 L中未找到值为x的数据元素,返回一特殊值(如-1)表示查找失败。

(5)Insert_List(L,i,x)在线性表 L的第i 个位置上插入一个值为x 的新元素,这样使原序号为i , i+1, ... , n 的数据元素的序号变为i+1,i+2, ... , n+1,插入后新表长=原表长+11≤i≤n+1,n为插入前的表长。

 (6)Delete_List(L,i)在线性表 L中删除序号为i 的数据元素,删除后使序号为i+1,i+2,..., n的元素变为序号为i,i+1,...,n-1,新表长=原表长-1,1≤i≤n

}ADTList