《数据结构(C语言版)例题详解与课程设计指导》力求对每题严格按照知识点全面分析并详细解答。《数据结构(C语言版)例题详解与课程设计指导》由两部分组成:第1部分是典型例题详解和习题解答,基本上涵盖了数据结构的所有知识点;第2部分通过经典的课程设计案例详解给出课程设计的实践指导。
《数据结构(C语言版)例题详解与课程设计指导》希望通过对基础理论和概念的归纳总结、典型例题的详细分析、课后习题的详尽解答、课程设计的实例分析,帮助读者深化对基本概念的理解,熟练掌握数据结构基本原理,进一步提高算法设计和分析能力。
《数据结构(C语言版)例题详解与课程设计指导》语言流畅,内容通俗易懂,例题经典,解答详尽。《数据结构(C语言版)例题详解与课程设计指导》是《数据结构(C语言版)》(秦锋主编,清华大学出版杜出版,ISBN:978-7-302-64603-9)的配套教材,同时又自成体系。《数据结构(C语言版)例题详解与课程设计指导》可作为高等学校计算机信息类专业的学习辅导书,也可作为研究生入学考试的复习参考书。
数据结构是计算机专业最为重要的核心基础课程,学好数据结构既能提高程序设计能力,又能为后续课程(如操作系统、数据库技术、编译原理、算法设计与分析等)的学习打下良好的基础。由于数据结构课程的内容比较抽象,对于具有程序设计基础的学生来说,理解其中的概念和原理也许并不困难,但在真正做题时,尤其是做算法设计题时往往困难重重,有时甚至无从下手,这在作者多年的教学中感受颇深。这本参考教材是作者在长期的教学实践中收集并整理的,目的就是通过对基础理论和概念的归纳总结、典型例题的详细分析、课后习题的详尽解答和课程设计的实例分析,帮助读者深化对基本概念的理解,熟练掌握数据结构的基本原理,以提高算法设计和分析的能力。
本书力求对每道例题都严格按照知识点全面分析并详细解答。本书由两部分组成: 第1部分是典型例题详解和配套教材的课后习题解答,全面涵盖了数据结构知识体系的各知识点;第2部分是课程设计的实践指导,列出了经典的课程设计的案例分析。全书共分10章,第1章回顾了数据结构基本概念、评价算法优劣的主要指标及时间复杂度和空间复杂度;第2章介绍了线性表的逻辑特性,详细阐述了顺序表和链表的存储结构及基本操作算法;第3章~第5章分别介绍了栈与队列、串、多维数组和广义表;第6章通过例题详解阐述了二叉树的存储结构和常见算法操作;第7章阐述了图的存储结构及相关理论的具体实现方法与过程;第8章和第9章介绍了广泛运用的两类算法--排序和查找;第10章是课程设计的实例详解,每个实例按照问题描述、设计思路、数据结构设计、功能函数设计、界面设计、编码实现、运行与测试进行说明,同时对学生提出明确的设计要求,并对设计过程给予指导。
本书既是《数据结构(C语言版)》(秦锋主编,清华大学出版社出版,ISBN: 978-7-302-64603-9)的配套教材(每章内容与之对应,且有习题解答),同时又自成体系。不但可作为高等学校计算机信息类专业的学习辅导书,也可作为研究生入学考试复习参考书。本书在编写过程中,收集整理并少量引用了其他参考书籍的例题,在此对原作者表示谢意!
本书由秦锋教授和袁志祥副教授担任主编,汤亚玲、王森玉、陈学进、郑啸、储岳中、程泽凯担任副主编。
因编者水平有限,书中难免有不足甚至错误之处,敬请广大读者批评指正!作 者2011年1月
第1章 绪论
1.1 知识点串讲
1.1.1 相关术语
1.1.2 算法描述
1.1.3 算法分析
1.2 典型例题详解
1.3 课后习题解答
第2章 线性表
2.1 知识点串讲
2.1.1 知识结构图
2.1.2 相关术语
2.1.3 线性表的顺序存储结构
2.1.4 线性表的链式存储结构
2.1.5 线性表的顺序存储结构和链式存储结构的比较
2.2 典型例题详解
2.3 课后习题解答
第3章 栈和队列
3.1 知识点串讲
3.1.1 知识结构图
3.1.2 相关术语
3.1.3 栈和队列的存储结构
3.2 典型例题详解
3.3 课后习题解答
第4章 串
4.1 知识点串讲
4.1.1 知识结构图
4.1.2 相关术语
4.1.3 串的基本运算
4.1.4 串的模式匹配算法
4.1.5 串的存储结构
4.2 典型例题详解
4.3 课后习题解答
第5章 数组和广义表
5.1 知识点串讲
5.1.1 知识结构图
5.1.2 相关术语
5.1.3 数组的存储结构
5.1.4 特殊矩阵
5.1.5 稀疏矩阵
5.1.6 广义表
5.2 典型例题详解
5.3 课后习题解答
第6章 树和二叉树
6.1 知识点串讲
6.1.1 知识结构图
6.1.2 相关术语
6.1.3 树和二叉树的存储结构
6.1.4 树和二叉树的遍历
6.1.5 线索二叉树
6.1.6 树、森林和二叉树的转换
6.1.7 哈夫曼树
6.2 典型例题详解
6.3 课后习题解答
第7章 图
7.1 知识点串讲
7.1.1 知识结构图
7.1.2 图的基本概念
7.1.3 图的存储结构
7.1.4 图的遍历
7.1.5 图的连通性算法
7.1.6 图的应用
7.2 典型例题精解
7.3 课后习题解答
第8章 查找
8.1 知识点串讲
8.1.1 知识结构图
8.1.2 相关术语
8.1.3 顺序查找
8.1.4 折半查找
8.1.5 分块查找
8.1.6 二叉排序树与平衡二叉树
8.1.7 B-树与B+树
8.1.8 哈希查找
8.1.9 各种查找算法的比较
8.2 典型例题详解
8.3 课后习题解答
第9章 排序
9.1 知识点串讲
9.1.1 知识结构图
9.1.2 相关术语
9.1.3 直接插入排序
9.1.4 希尔排序
9.1.5 冒泡排序
9.1.6 快速排序
9.1.7 直接选择排序
9.1.8 堆排序
9.1.9 归并排序
9.2 典型例题详解
9.3 课后习题解答
第10章 课程设计指导
10.1 课程设计基本要求
10.1.1 课程设计的步骤
10.1.2 课程设计选题
10.2 课程设计范例
10.2.1 停车场管理系统
10.2.2 简单Huffman编码/译码的设计与实现
10.2.3 各种排序算法性能比较
10.2.4 拓扑排序和关键路径
10.2.5 航空订票系统
参考文献