本书力求对每题严格按照知识点全面分析并详细解答。本书由两部分组成,第一部分是典型例题详解和习题解答,基本上涵盖数据结构的知识点;第二部分通过经典的课程设计案例详解给出课程设计的实践指导。
本书希望通过对基础理论和概念的归纳总结、典型例题的详细分析、课后习题的详尽解答、课程设计的实例分析,帮助读者深化对基本概念的理解,熟练掌握数据结构基本原理,进一步提高算法设计和分析能力。
本书语言流畅,内容通俗易懂,例题经典,解答详尽。本书是《数据结构(C语言版)》(秦锋主编,中国科学技术大学出版社出版)的参考教材,同时又自成体系,可作为高等院校计算机专业的学习辅导书,也可作为参加自学考试、研究生入学考试、程序员水平考试、计算机国家等级考试的复习参考书。
《数据结构(C语言版):例题详解与课程设计指导(第2版)》共分10章,第1章回顾数据结构基本概念、评价算法优劣的主要指标及时间复杂度和空间复杂度;第2章介绍线性表的逻辑特性,详细阐述顺序表和链表的存储结构及基本操作算法;第3,4,5章分别是栈与队列、串、数组和广义表;第6章是树与二叉树,通过例题详解阐述二叉树的存储结构和常见算法操作;第7章是图,阐述图的存储结构及相关理论的具体实现方法与过程;第8章和第9章介绍广泛运用的两类算法:查找和排序;第10章是课程设计实例详解,每个实例按照问题描述、设计思路、数据结构设计、功能函数设计、界面设计、编码实现、运行与测试进行说明,同时对学生提出明确的设计要求,并对设计过程给予指导。 《数据结构(C语言版):例题详解与课程设计指导(第2版)》既是《数据结构(C语言版)》出版的配套教材(每章内容与之对应且有习题解答),同时又自成体系,可作为高等学校计算机专业的学习辅导书,也可作为参加自学考试、研究生入学考试、程序员水平考试、计算机国家等级考试的复习参考书。
前言
第1章 绪论
1.1 知识点串讲
1.2 典型例题详解
1.3 课后习题与解答
第2章 线性表
2.1 知识点串讲
2.2 典型例题详解
2.3 课后习题与解答
第3章 栈和队列
3.1 知识点串讲
3.2 典型例题详解
3.3 课后习题与解答
第4章 串
4.1 知识点串讲
4.2 典型例题详解
4.3 课后习题与解答
第5章 数组和广义表
5.1 知识点串讲
5.2 典型例题详解
5.3 课后习题与解答
第6章 树和二叉树
6.1 知识点串讲
6.2 典型例题详解
6.3 课后习题与解答
第7章 图
7.1 知识点串讲
7.2 典型例题详解
7.3 课后习题与解答
第8章 查找
8.1 知识点串讲
8.2 典型例题详解
8.3 课后习题与解答
第9章 排序
9.1 知识点串讲
9.2 典型例题详解
9.3 课后习题与解答
第10章 课程设计指导
10.1 课程设计基本要求
10.2 课程设计范例
参考文献
第1章 绪论
数据结构主要研究四个方面的问题:(1)数据的逻辑结构;(2)数据的物理结构;(3)基本操作与运算;(4)算法的分析。本章主要内容是掌握数据结构概念和相关术语,掌握算法描述和分析的方法。
1.1 知识点串讲
1.1.1 相关术语
(1)数据元素、数据对象、数据项。
(2)数据结构、逻辑结构、存储结构。
(3)线性结构、非线性结构。
(4)集合、线性结构、树形结构、图状结构。
(5)顺序存储、链式存储、索引存储、散列存储。
(6)数据类型、抽象数据类型、原子类型、结构类型。
(7)算法、时间复杂度、空间复杂度。
1.1.2 算法描述
算法(Algorithm)是对特定问题求解步骤的描述,是指令的有限序列,其中每条指令表示一个或多个操作。
一个算法必须具备下列五个特性:
(1)有穷性:一个算法对于任何合法的输入必须在执行有穷步骤之后结束,且每步都可在有限时间内完成。
(2)确定性:算法的每条指令必须有确切含义,不能有二义性。在任何条件下,算法只有惟一的一条执行路径,即对相同的