数据结构学习指导典型题解(新版)(21世纪大学课程辅导)

分類: 图书,计算机/网络,数据库,数据库理论,
作者: 朱战立,张选平编著
出 版 社: 西安交通大学出版社
出版时间: 2008-9-1字数: 459000版次: 1页数: 291印刷时间: 2008/09/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787560515014包装: 平装编辑推荐
本书是作者在长期教学经验积累的基础上精心编著的数据结构课程的学习参考书。 全书包括了表、堆栈、队列、数组、串、广义表、树、二叉树、图、递归程序设计、排序、查找等典型数据结构课程内容。书中的算法用C语言描述,本书作者软件设计经验丰富,本书的所有算法和上机实习题程序都在计算机上调试通过。
内容简介
数据结构课程是学习计算机软件设计的基础课程。本书是作者在长期教学经验积累的基础上精心编著的数据结构课程的学习参考书。本书共分10章,各章主要由学习指导、典型题解和上机实习题解三部分组成。学习指导部分综述该章的学习要点;典型题解部分的例题是作者精心编选的,具有典型意义。其中,既包含了一般性的题目解答,也包含了难题和算法设计题目的分析和解答;上机实习题解部分是专为解决许多学生感觉完成上机实习题非常困难,以及许多自学学生上机实习不能保证而设计的。另外,附录收录了一些典型考卷和解答。本书的算法用C语言描述。
本书是计算机类和信息管理类本科生、专科生以及复习报考计算机类和信息管理类硕士考生的非常适宜的学习参考书。
目录
前言
第1章 概述
1.1 数据结构课程的基本概念
1.2 抽象数据类型
1.3 算法和算法的时间复杂度
1.4 算法设计
1.5 算法书写规范
1.6 上机实习内容规范
第2章 顺序存储结构的表、堆栈和队列
2.1 学习指导
2.1.1 线性表
2.1.2 顺序存储结构
2.1.3 顺序表
2.1.4 堆栈和顺序堆栈
2.1.5 队列和顺序循环队列
2.1.6 进一步的分析讨论
2.2 典型题解
2.2.1 顺序表及其应用
2.2.2 堆栈、顺序堆栈及其应用
2.2.3 顺序循环队列及其应用
2.2.4 顺序双向循环队列及其应用
2.2.5 顺序优先级队列及其应用
2.3 上机实习典型题解
第3章 链式存储结构的表、堆栈和队列
3.1 学习指导
3.1.1 链式存储结构
3.1.2 单链表、单循环链表和双向循环链表
3.1.3 链式堆栈
3.1.4 链式队列
3.1.5 静态链表
3.1.6 进一步的分析讨论
3.2 典型题解
3.2.1 带头结点和不带头结点的单链表及其应用
3.2.2 链式堆栈及其应用
3.2.3 尾指针表示的单循环链表及其应用
3.2.4 尾指针表示的链式队列及其应用
3.3 上机实习典型题解
第4章 串、数组和矩阵
4.1 学习指导
4.1.1 串的定义、存储结构和操作
4.1.2 数组的定义和操作
4.1.3 矩阵的压缩存储
4.2 典型题解
4.2.1 串的基本概念和应用问题
4.2.2 数组的基本概念和应用问题
4.2.3 特殊矩阵和稀疏矩阵的基本概念和应用问题
4.3 上机实习典型题解
第5章 递归程序设计
5.1 学习指导
5.1.1 递推定义式
5.1.2 递归算法的执行过程
5.1.3 递归算法的设计
5.1.4 递归算法的效率分析
5.1.5 递归算法到非递归算法的转换
5.2 典型题解
5.2.1 基本的递归概念和递归算法执行过程
5.2.2 复杂的递归概念和应用问题
5.3 上机实习典型题解
第6章 广义表
6.1 学习指导
6.1.1 广义表的基本概念
6.1.2 广义表的存储结构
6.1.3 广义表的操作实现
6.2 典型题解
6.2.1 基本概念题
6.2.2 算法设计题
第7章 树与二叉树
7.1 学习指导
7.1.1 树的概念及有关术语
7.1.2 二叉树
7.1.3 树与森林
7.1.4 哈夫曼树及其应用
7.1.5 小结
7.2 典型题解
7.2.1 基本内容题
7.2.2 算法设计与分析题
7.3 上机实习典型题解
第8章 图
8.1 学习指导
8.1.1 图的概念
8.1.2 图的存储结构
8.1.3 图的遍历
8.1.4 图的应用
8.1.5 小结
8.2 典型题解
8.2.1 基本内容题
8.2.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.2 典型题解
9.2.1 基本内容题
9.2.2 算法设计与分析题
9.3 上机实习典型题解
第10章 查找
10.1 学习指导
10.1.1 查找的基本概念
10.1.2 线性表的查找
10.1.3 树型表的查找
10.1.4 哈希表及其查找
10.1.5 本章小结
10.2 典型题解
10.2.1 线性表查找题解
10.2.2 树型表查找题解
10.2.3 哈希表查找题解
10.3 上机实习典型题解
附录 典型试题和解答
附录1 试题一及解答
附录2 试题二及解答
附录3 试题三及解答
附录4 自测试卷一
附录5 自测试卷二
书摘插图
第1章概述
本章讨论的数据结构的基本概念和方法将贯穿数据结构课程的整个学习过程。本章主要对数据结构课程学习中将遇到的基本概念和方法作概括性的讨论,其中1.1节概述了数据结构的基本概念,1.2节讨论了抽象数据类型的概念和具体表示方法,1.3节从数学定义角度出发对难于理解的算法的效率作了定义。算法设计一直是初学者最感头痛的内容,1.4节通过实际例子讨论了算法设计要考虑的问题。数据结构课程的任务之一是训练学生的软件设计能力,并要求软件设计过程按规范进行,1.5节给出的算法书写规范和1.6节给出的实习报告书写规范就是为此目的编写的。
1.1 数据结构的基本概念
定义1—1数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所作的抽象描述。
定义1—2表示数据的基本单位称作数据元素。数据元素通常由若干个数据项组成。
例如要描述学生的情况,我们可设计姓名、性别、年龄等数据项来进行描述。描述一个具体学生的一行数据称作一个数据元素,描述的学生不同则数据元素的值不同。
……