1.主要内容 掌握线性表的链式存储结构特点、明确“结点”的含义:静态链表、单链表、循环 链表与双向链表的插入、删除等操作的实现方法和特点区别。掌握线性链表的存储地址 数据域和指针域之间的对应关系,线性表的单链表的存储结构定义,带头结点的单链表 的应用: 掌握循环链表的特点、双向链表的结构定义和结点的插入刑除操作 2.基本概念和知识点 结点、头结点、数据域、指针域:静态与动态链表、单链表、循环链表与双向链表。 单链表、循环链表和双向链表的存储结构定义和基本操作的代码实现技术。 3.问题与应用 应掌握线性链表的类型定义、基本操作的代码实现,通过链表归并算法,使学生熟 练掌握各类链表中结点的插入与别除等操作。 第四节一元多项式的表示及相加 1.主要内容 通过一元多项式的算法实现,掌握链表的应用。 2.基本概念和知识点 抽象数据类型一元多项式的定义与表示、多项式相加算法的实现。 3.问题与应用 实现两个一元多项式的相加算法,使学生进一步理解和灵活应用线性链表米解决 些实际问题。 (三)思考与实践 思考:编写一套列车票售票系统,你应当如何设计该系统的数据结构? 实践:线性表实验(2学时):实现单链表各种基本运算的算法 课后练习:《数据结构(C语言版)》P51,第1题、第2题的(7)、(8)(10) 练习题应涉及以下几类: 1.线性表在顺序结构上各种基本操作的实现: 2.线性链表的各种操作: 3.两个或多个线性表的各种操作: 4.对不同的存储结构作对照比较,并注重其时间复杂度的分析: 5.循环链表和双向链表: 6.稀疏多项式及其运算在线性表的两种存储结构上的实现。 6
6 1.主要内容 掌握线性表的链式存储结构特点、明确“结点”的含义;静态链表、单链表、循环 链表与双向链表的插入、删除等操作的实现方法和特点区别。掌握线性链表的存储地址、 数据域和指针域之间的对应关系,线性表的单链表的存储结构定义,带头结点的单链表 的应用; 掌握循环链表的特点、双向链表的结构定义和结点的插入删除操作。 2.基本概念和知识点 结点、头结点、数据域、指针域;静态与动态链表、单链表、循环链表与双向链表。 单链表、循环链表和双向链表的存储结构定义和基本操作的代码实现技术。 3.问题与应用 应掌握线性链表的类型定义、基本操作的代码实现,通过链表归并算法,使学生熟 练掌握各类链表中结点的插入与删除等操作。 第四节 一元多项式的表示及相加 1.主要内容 通过一元多项式的算法实现,掌握链表的应用。 2.基本概念和知识点 抽象数据类型一元多项式的定义与表示、多项式相加算法的实现。 3.问题与应用 实现两个一元多项式的相加算法,使学生进一步理解和灵活应用线性链表来解决一 些实际问题。 (三) 思考与实践 思考:编写一套列车票售票系统,你应当如何设计该系统的数据结构? 实践:线性表实验(2 学时):实现单链表各种基本运算的算法 课后练习:《数据结构(C 语言版)》P51,第 1 题、第 2 题的(7)、(8)(10) 练习题应涉及以下几类: 1.线性表在顺序结构上各种基本操作的实现; 2.线性链表的各种操作; 3.两个或多个线性表的各种操作; 4.对不同的存储结构作对照比较,并注重其时间复杂度的分析; 5.循环链表和双向链表; 6.稀疏多项式及其运算在线性表的两种存储结构上的实现
(四)教学方法与手段 课堂讲授、多媒体教学。 分组讨论:线性表中的循环链表和双向链表的应用实例 第三章栈和队列 (一)目的与要求 1.掌握栈的定义和基本运算、栈的存储结构与实现、栈的应用特点:掌握栈类型 的两种基本操作的实现算法,注意栈满和栈空的条件以及它们的描述方法,并能在相应 的应用问题中正确加以应用,要求达到“熟练”层次: 2.掌握队列的定义和基本运算、队的存储结构与实现、链队列和循环队列的应用 特点,注意队满和队空的描述方法:要求达到“熟练”层次: 3.要求具有熟练应用栈和队列结构解决实际问题的能力。 (二)教学内容 第一节栈 1.主要内容 介绍栈的抽象数据类型的定义、栈的顺序存储结构和链式存储结构表示及其实现、 栈操作的特点。 2.基本概念和知识点 栈、栈顶指针、栈空、栈底、L0表:栈的顺序存储结构和链式存储结构表示及 其实现。 3.问题与应用 问题:栈空/队空的判断条件意味着栈/队列的插入删除操作的特点? 要求学生能够正确实现顺序栈和链式栈的存储结构表示,以及栈的初始化、栈的 Push和Pop等操作实现。 第二节栈的应用举例 1.主要内容 介绍栈在“数制转换”、“表达式求值”等问题求解中的应用和算法实现。 2.基本概念和知识点 数制、算符优先法。 3.问题与应用
7 (四)教学方法与手段 课堂讲授、多媒体教学。 分组讨论:线性表中的循环链表和双向链表的应用实例。 第三章 栈和队列 (一) 目的与要求 1.掌握栈的定义和基本运算、栈的存储结构与实现、栈的应用特点;掌握栈类型 的两种基本操作的实现算法,注意栈满和栈空的条件以及它们的描述方法,并能在相应 的应用问题中正确加以应用,要求达到“熟练”层次; 2.掌握队列的定义和基本运算、队的存储结构与实现、链队列和循环队列的应用 特点,注意队满和队空的描述方法;要求达到“熟练”层次; 3.要求具有熟练应用栈和队列结构解决实际问题的能力。 (二) 教学内容 第一节 栈 1.主要内容 介绍栈的抽象数据类型的定义、栈的顺序存储结构和链式存储结构表示及其实现、 栈操作的特点。 2.基本概念和知识点 栈、栈顶指针、栈空、栈底、LIFO 表;栈的顺序存储结构和链式存储结构表示及 其实现。 3.问题与应用 问题:栈空/队空的判断条件意味着栈/队列的插入/删除操作的特点? 要求学生能够正确实现顺序栈和链式栈的存储结构表示,以及栈的初始化、栈的 Push 和 Pop 等操作实现。 第二节 栈的应用举例 1.主要内容 介绍栈在“数制转换”、“表达式求值”等问题求解中的应用和算法实现。 2.基本概念和知识点 数制、算符优先法。 3.问题与应用
通过算法实例的讲解,使学生熟练掌握栈在实际问题求解中的应用方法。 第三节队列 1.主要内容 介绍队列结构的操作特点、抽象数据类型队列的定义、链式队列结构和循环队列结 构的表示和实现。分析队列与栈的异同。 2.基本概念和知识点 队列、FI℉O表、队头指针、队尾指针:队列的插入和删除等操作在链式队列和循 环队列的表示和实现。 3.问题与应用 要求学生能够正确实现链式队列和循环队列的存储结构表示,以及队列的初始化 出队、入队等操作实现。 (三)思考与实践 思考:栈与队列两种数据结构,与基本线性表有何不同? 实践环节:实验(2学时):病人看病模拟程序 课后练习:《数据结构(C语言版)》P83,第1题、第2题的(10) 练习题应涉及以下三类: 1.栈的类型特点及其应用: 2.递归算法执行过程中栈的状态和递归的 3.队列的类型特点和应用以及在不同存储结构上的实现方法。 (四)教学方法与手段 课堂讲授、多媒体教学。 课堂讨论。 第四章串、数组和广义表 (一)目的与要求 1,串的数据类型定义、串的三种存储表示:定长顺序存储结构、块链存储结构和 堆分配存储结构:要求达到“熟练”层次。 2.掌握串的七种基本操作的定义,并能利用这些基本操作实现串的其他各种操作 的方法,要求达到“理解”层次。 3.掌握串的堆存储结构以及在其上实现串操作的基本方法,要求达到“理解”层 次。 4.掌握数组的类型定义,数组的顺序存储结构,特殊矩阵的压缩存储
8 通过算法实例的讲解,使学生熟练掌握栈在实际问题求解中的应用方法。 第三节 队列 1.主要内容 介绍队列结构的操作特点、抽象数据类型队列的定义、链式队列结构和循环队列结 构的表示和实现。分析队列与栈的异同。 2.基本概念和知识点 队列、FIFO 表、队头指针、队尾指针;队列的插入和删除等操作在链式队列和循 环队列的表示和实现。 3.问题与应用 要求学生能够正确实现链式队列和循环队列的存储结构表示,以及队列的初始化、 出队、入队等操作实现。 (三) 思考与实践 思考:栈与队列两种数据结构,与基本线性表有何不同? 实践环节:实验(2 学时):病人看病模拟程序 课后练习:《数据结构(C 语言版)》P83,第 1 题、第 2 题的(10) 练习题应涉及以下三类: 1.栈的类型特点及其应用; 2.递归算法执行过程中栈的状态和递归的 3.队列的类型特点和应用以及在不同存储结构上的实现方法。 (四) 教学方法与手段 课堂讲授、多媒体教学。 课堂讨论。 第四章 串、数组和广义表 (一) 目的与要求 1.串的数据类型定义、串的三种存储表示:定长顺序存储结构、块链存储结构和 堆分配存储结构;要求达到“熟练”层次。 2.掌握串的七种基本操作的定义,并能利用这些基本操作实现串的其他各种操作 的方法,要求达到“理解”层次。 3.掌握串的堆存储结构以及在其上实现串操作的基本方法,要求达到“理解”层 次。 4.掌握数组的类型定义,数组的顺序存储结构,特殊矩阵的压缩存储