-
第一章绪论
本章是本课程的绪论部分,以大家普遍理解的具体实例入手,为同学们介绍数据结构的研究范畴、相关概念,帮助同学们了解本课程的主要内容框架,并初步认识学习数据结构的必要性。并初步介绍算法的概念及算法评价的方法。
-
●1.1什么是数据结构
通过具体实例,介绍数据结构的研究范畴,本课程的主要学习内容及学习的必要性。讲解算法的基本特征、设计原则和效率的衡量方法。
-
●1.2初识算法
讲解算法的基本概念及性质,并引导学生思考算法的优劣。
-
●1.3算法效率的衡量和评价
讲解算法性能的评价方法:时间复杂度和空间复杂度的衡量。
-
第二章线性表
线性表是最简单的数据结构,俗称表结构。本章详细讲解线性表的特点、存储实现方法、基本操作、性能分析、应用。通过本章的学习,学生将会认识并掌握表结构的组织方式和操作方法,并能在实际问题中进行应用。
-
●2.1线性表的存储实现
讲解线性表结构在内存中的实现方法,包括顺序存储和链式存储
-
●2.2顺序表的基本操作
本节讲解表中元素的查询、遍历等操作在顺序存储中的实现
-
●2.3顺序表的插入和删除
讲授顺序表中元素的插入、删除操作的算法及实现。
-
●2.4链表的基本操作
本节讲解表中元素的查询、遍历等操作在单链表中的实现,要熟练指针的操作。
-
●2.5链表的插入和删除
本节讲解单链表中的元素插入、删除操作的详细过程及算法实现,并进行性能分析。
-
●2.6链表的建立
本节介绍单链表的构建方法:头插法、尾插法。
-
●2.7线性表的应用
本节介绍一元多项式计算器的设计方法,注重问题的分析与抽象,从而灵活应用线性表。
-
第三章栈和队列
本章讲解两种特殊的线性表结构:栈和队列。要求重点理解栈的“先进后出”和队列的“先进先出”,并体会两种特殊的线性表结构的应用场景,在合适的场景中进行合理选择和应用。
-
●3.1栈和队列的特点
介绍栈、队列的操作特征和特殊性
-
●3.2顺序栈的基本操作
介绍顺序栈的存储实现方法,顺序栈中如何进行数据的插入、删除等操作。
-
●3.3链栈的基本操作
介绍链栈的存储实现方法,链栈中如何进行数据的插入、删除等操作。
-
●3.4栈的应用
通过具体案例,介绍栈在实际问题中的应用
-
●3.5链队列的基本操作
介绍链队列的存储实现和数据插入、删除等基本操作的实现方法
-
●3.6循环队列的基本操作
介绍循环队列的存储实现,理解循环队列的设计方法,介绍数据插入、删除等操作在循环队列中的实现
-
第四章数组和广义表
本章主要介绍数组和广义表这两种复杂的线性结构。数组部分中重点讲解特殊矩阵压缩存储的方式,并学习稀疏矩阵的存储方法和矩阵的转置等运算的实现;广义表部分的讲授突出利用递归的思想理解广义表的方法。
-
●4.1特殊矩阵的压缩存储
介绍特殊矩阵的概念,讲解和分析几种常见特殊矩阵的压缩存储和使用方法
-
●4.2稀疏矩阵的三元组顺序表
介绍稀疏矩阵的概念和压缩存储思想,重点讲解三元组顺序表的结构及矩阵的转置等运算的高效实现算法。
-
●4.3广义表的性质和存储
介绍广义表的概念、名词术语、性质,对广义表的分析与理解,并介绍广义表的常用存储方法。
-
第五章树和二叉树
本章主要介绍树形结构的特点及应用,主要围绕二叉树的定义、性质、存储和遍历做详细的介绍,同时还涉及到有关树的实际应用,例如构建哈弗曼编码等。
-
●5.1二叉树的定义和特点
介绍什么是二叉树以及相关性质,从而理解二叉树的数据关系和特点
-
●5.2二叉树的存储
介绍二叉树的数组存储、二叉链表、三叉链表结构的存储
-
●5.3二叉树的递归遍历算法
讲解二叉树的先序、中序、后序三种顺序遍历的递归算法
-
●5.4二叉树的层次遍历
介绍按层遍历二叉树的方法和算法实现
-
●5.5二叉树的非递归遍历算法
二叉树遍历的非递归化算法介绍
-
●5.6哈夫曼树算法
介绍哈夫曼树的概念及用途,讲解哈夫曼算法构建哈夫曼树的过程
-
●5.7哈夫曼编码
介绍利用哈夫曼树设计哈夫曼编码的算法
-
第六章图
本章主要介绍图形结构的概念、性质、存储和相关操作及其应用。图是比较复杂的结构,但在生活和科学研究中使用非常广泛,本章重在介绍如何使用图结构和相关算法来解决实际遇到的问题。
-
●6.1什么是图
介绍图形结构的相关概念、常用术语,重在理解图中元素的关系特点
-
●6.2图的存储
介绍邻接矩阵、邻接表存储图的方法和实现
-
●6.3图的遍历
介绍深度优先搜索遍历、广度优先搜索算法的策略、算法实现和性能分析
-
●6.4最小生成树
介绍最小生成树求解的两种算法:Prim算法、Kruskal算法
-
●6.5拓扑排序
介绍拓扑排序的概念,有向无环图的定义,拓扑排序算法策略和实现
-
●6.6最短路径
本节介绍最短路径问题在图中的解决方案,主要讲解单源顶点最短路径求解算法Dijkstra算法和多源顶点最短路径求解算法Floyd算法的策略及实现
-
第七章查找
本章通过介绍不同的查找表,来讲解多种查找算法的实现,例如顺序查找、二分查找等。同时本章中还会借用学过的树结构构实现查找具体数据的目的,还会介绍高效查找结构--哈希表的构建和查找算法。
-
●7.1顺序查找
介绍查找的相关概念,讲解线性表中的顺序查找算法及性能分析
-
●7.2折半查找
介绍适用于有序表的折半查找算法实现及性能分析
-
●7.3二叉排序树
本节主要介绍二叉树排序树的定义和性质、查找数据的算法及性能、构建过程、删除数据的算法
-
●7.4二叉平衡树
介绍二叉平衡树的概念、构建过程及性能
-
●7.5哈希表
本节介绍高效查找结构---哈希表,主要内容有:哈希表的概念、构建方法、查找策略及性能分析
-
第八章内部排序
本章详细介绍多种排序算法:插入排序算法、快速排序算法、选择排序算法、归并排序等,不仅介绍算法的理论实现,还讨论各自的时间、空间等性能。
-
●8.1直接插入排序
介绍直接插入排序算法及性能分析
-
●8.2希尔排序
介绍希尔排序算法及性能分析
-
●8.3冒泡排序
介绍冒泡排序算法及性能分析
-
●8.4快速排序
介绍快速排序算法及性能分析
-
●8.5简单选择排序
介绍简单选择排序算法及性能分析
-
●8.6堆排序
介绍堆的概念、堆排序算法及性能分析
-
●8.7归并排序
介绍归并排序算法及性能分析
-
●8.8排序算法比较与总结
对本章中的内部排序算法从算法策略、实现、时间和空间性能、稳定性等方面进行综合比较