书籍详情
实用数据结构
作者:徐士良编著
出版社:清华大学出版社
出版时间:2000-01-01
ISBN:9787302021520
定价:¥16.00
购买这本书可以去
内容简介
本书是为非计算机专业的学生学习“数据结构”课程而编写的。本书的起点很低,适用的读者面很广。书中对每一种常用的数据结构都没有从抽象的定义出发,也没有涉及到基本理论与计算机的专业知识。在介绍一种数据结构时,总是从实例出发,通过对实例的分析、讲解来介绍数据结构的基本概念,总结出每一种数据结构的特点及其应用。在本书中,使用一种最简单的描述语言来描述对数据结构的运算,同时为了方便学过C语言的读者,对每一个算法也都给出了C语言的描述。如果读者没有学过C语言,可以不看C语言的描述,也可以通过阅读用C语言描述的算法顺便学习C语言。本书强调实用性。书中所有的算法都用C语言编程调试通过。本书共分9章。第1章从两个实例入手,介绍了数据结构的基本概念,讨论了算法方面的考虑,并给出了本书主要使用的一种算法描述语言。第2章介绍了一般的线性表、栈、队列等最基本的数据结构,并讨论了这些在顺序存储结构下的主要运算,介绍了栈与队列的主要应用;最后还讨论了字符串匹配的问题。第3章介绍了线性表的链式存储结构及其运算,并主要讨论了线性链表在多项式运算中的应用。第4章介绍了数组的顺序存储结构、规则矩阵的压缩以及稀疏矩阵的三列二维数组表示与十字链表表示。第5章介绍了树与二叉树的基本概念,主要讨论了二叉树的性质、二叉树的存储结构及其二叉树的遍历,最后还介绍了穿线二叉树的概念、表达式线性化的过程、最优二叉树用于编码等问题。第6章简要介绍了图的基本概念、图的存储方式、图的两种主要遍历方法,最后讨论了最短距离问题的求解。第7章介绍了工程中常用的查找方法,包括顺序查找、对分查找、分块查找、二叉排序树查找以及多层索引树查找等。第8章介绍了Hash表的基本概念,重点介绍了几种常用的Hash表。第9章介绍了各种排序的方法,求解了拓扑分类的问题。本书通俗易懂、实例丰富,所有的算法均给出了C语言的描述,并且每章都附有一定数量的习题。本书可作为非计算机专业的学生学习数据结构的教材,也可作为自学教材或各类培训班的教材。
作者简介
作者:谭浩强谭浩强教授,我国著名计算机教育专家。1934年生。1958年清华大学毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一,现任全国高等院校计算机基础教育研究会会长、教育部全国计算机应用技术证书考试委员会主任委员。谭浩强教授创造了3个世界纪录:(1)20年来他(及和他人合作)共编著出版了130本计算机著作,此外主编了250多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过了4500万册,是读者最多的科技作家。我国平均每30人、知识分子每1.5人就拥有一本谭浩强的书。(3)他和别人合作编著的《BASIC语言》发行1200多万册,创科技书籍发行量的世界纪录。此外他编著的《C程序设计》发行了600万册,他曾在中央电视台主讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,VisualBasic七种计算机语言,观众超过300万人。在我国学习计算机的人中很少有不知道谭浩强教授的。他善于用容易理解的方法和语言说明复杂的概念。许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业做出了重要的贡献。谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府授予的“有突出贡献专家”称号。被国家科委、中国科协表彰为“全国优秀科普工作者”。英国剑桥国际传记中心将他列入“世界名人录”。《计算机世界》报组织的“世纪评选”把他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位)。他的功绩是把千百万群众带入计算机的大门。快速掌握Excel电子表格>>更多作品
目录
第一章 绪论
1.1 看两个例子
1.2 数据结构的基本概念
1.2.1 什么是数据结构
1.2.2 数据结构的图形表示
1.2.3 线性数据结构与非线性数据结构
1.3 算法方面的考虑
1.3.1 什么是算法
1.3.2 算法的复杂度
1.3.3 算法描述语言
习题
第二章 线性表及其顺序存储结构
2.1 线性表的基本概念
2.1.1 什么是线性表
2.1.2 线性表的顺序存储结构
2.1.3 线性表在顺序存储下的插入运算
2.1.4 线性表在顺序存储下的删除运算
2.2 栈及其应用
2.2.1 什么是栈
2.2.2 栈的顺序存储及其运算
2.2.3 表达式的计算
2.2.4 递归
2.3 队列及其应用
2.3.1 什么是队列
2.3.2循环队列及其运算
2.3.3 队列的应用
2.4 字符串
2.4.1 字符率的基本概念
2.4.2 字符串匹配
习题
第三章 线性链表
3.1 线性链表的基本概念
3.1.1 线性表顺序存储的问题
3.1.2 线性链表
3.1.3 带链的栈
3.1.4 带链的队列
3.2 线性链表的基本运算
3.2.1 在线性链表中查找指定元素
3.2.2 线性链表的插入
3.2.3 线性链表的删除
3.3 循环链表
3.4 多项式的表示与运算
习题
第四章 数组
4.1 数组的顺序存储结构
4.2 规则矩阵的压缩
4.3 一般稀疏矩阵的表示
4.3.1 稀疏矩阵的三列二线数组表示
4.3.2 十字链表
习题
第五章 树与二叉树
5.1 树
5.2 二叉树及其基本性质
5.2.1 什么是二叉树
5.2.2 二叉树的基本性质
5.2.3 满二叉树与完全二叉树
5.3 二叉树的存储结构
5.3.1 二叉链表
5.3.2 二叉链表的生成—
5.4 二叉树的遍历—
5.5 穿线二叉树—
5.5.1 穿线二叉树的概念
5.5.2 穿线二叉树的构造
5.5.3 穿线二叉树的遍历
5.6 表达式的线性化
5.6.1 有序树的二叉树表示
5.6.2 表达式的线性化
5.7 最优二叉树及其应用
5.7.1 什么是最优二叉树
5.7.2 最优二叉树的构造u
5.7.3 哈夫曼编码
习题
第六章 图
6.1 图的基本概念
6.2 图的存储结构
6.2.1 关联矩阵
6.2.2 求值矩阵
6.2.3 邻接表
6.2.4 邻接多重表
6.3 图的遍历
6.3.1 纵向优先搜索法
6.3.2 横向优先搜索法
6.4 最短距离问题
习题
第七章 查找技术
7.1 顺序查找
7.2 有序表的对分查找
7.3 分块查找
7.4 二叉排序树查找
7.4.1 二叉排序树及其构造
7.4.2 二叉排序树查找
7.5 多层索引树查找
7.5.1 B-树
7.5.2 B+树
习题
第八章 Hash表技术
8.1 Hash表的基本概念
8.1.1 直接查找技术
8.1.2 Hash表
8.1.3 Hash码的构造
8.2 几种常用的Hash表
8.2.1 线性 Hash表
8.2.2 随机 Hash表
8.2.3 溢出Hash表
8.2.4 拉链 Hash表
8.2.5 指标 Hash表
习题
第九章 排序技术
9.1 互换类排序
9.1.1 冒泡排序
9.1.2 快速排序
9.2 插入类排序
9.2.1 简单插入排序
9.2.2 希尔排序
9.3 选择类排序
9.3.1 简单选择排序
9.3.2 堆排序
9.4 拓扑分类
9.5 其他排序方法简介
9.5.1 归并排序
9.5.2 基数排序
习题
参考文献
1.1 看两个例子
1.2 数据结构的基本概念
1.2.1 什么是数据结构
1.2.2 数据结构的图形表示
1.2.3 线性数据结构与非线性数据结构
1.3 算法方面的考虑
1.3.1 什么是算法
1.3.2 算法的复杂度
1.3.3 算法描述语言
习题
第二章 线性表及其顺序存储结构
2.1 线性表的基本概念
2.1.1 什么是线性表
2.1.2 线性表的顺序存储结构
2.1.3 线性表在顺序存储下的插入运算
2.1.4 线性表在顺序存储下的删除运算
2.2 栈及其应用
2.2.1 什么是栈
2.2.2 栈的顺序存储及其运算
2.2.3 表达式的计算
2.2.4 递归
2.3 队列及其应用
2.3.1 什么是队列
2.3.2循环队列及其运算
2.3.3 队列的应用
2.4 字符串
2.4.1 字符率的基本概念
2.4.2 字符串匹配
习题
第三章 线性链表
3.1 线性链表的基本概念
3.1.1 线性表顺序存储的问题
3.1.2 线性链表
3.1.3 带链的栈
3.1.4 带链的队列
3.2 线性链表的基本运算
3.2.1 在线性链表中查找指定元素
3.2.2 线性链表的插入
3.2.3 线性链表的删除
3.3 循环链表
3.4 多项式的表示与运算
习题
第四章 数组
4.1 数组的顺序存储结构
4.2 规则矩阵的压缩
4.3 一般稀疏矩阵的表示
4.3.1 稀疏矩阵的三列二线数组表示
4.3.2 十字链表
习题
第五章 树与二叉树
5.1 树
5.2 二叉树及其基本性质
5.2.1 什么是二叉树
5.2.2 二叉树的基本性质
5.2.3 满二叉树与完全二叉树
5.3 二叉树的存储结构
5.3.1 二叉链表
5.3.2 二叉链表的生成—
5.4 二叉树的遍历—
5.5 穿线二叉树—
5.5.1 穿线二叉树的概念
5.5.2 穿线二叉树的构造
5.5.3 穿线二叉树的遍历
5.6 表达式的线性化
5.6.1 有序树的二叉树表示
5.6.2 表达式的线性化
5.7 最优二叉树及其应用
5.7.1 什么是最优二叉树
5.7.2 最优二叉树的构造u
5.7.3 哈夫曼编码
习题
第六章 图
6.1 图的基本概念
6.2 图的存储结构
6.2.1 关联矩阵
6.2.2 求值矩阵
6.2.3 邻接表
6.2.4 邻接多重表
6.3 图的遍历
6.3.1 纵向优先搜索法
6.3.2 横向优先搜索法
6.4 最短距离问题
习题
第七章 查找技术
7.1 顺序查找
7.2 有序表的对分查找
7.3 分块查找
7.4 二叉排序树查找
7.4.1 二叉排序树及其构造
7.4.2 二叉排序树查找
7.5 多层索引树查找
7.5.1 B-树
7.5.2 B+树
习题
第八章 Hash表技术
8.1 Hash表的基本概念
8.1.1 直接查找技术
8.1.2 Hash表
8.1.3 Hash码的构造
8.2 几种常用的Hash表
8.2.1 线性 Hash表
8.2.2 随机 Hash表
8.2.3 溢出Hash表
8.2.4 拉链 Hash表
8.2.5 指标 Hash表
习题
第九章 排序技术
9.1 互换类排序
9.1.1 冒泡排序
9.1.2 快速排序
9.2 插入类排序
9.2.1 简单插入排序
9.2.2 希尔排序
9.3 选择类排序
9.3.1 简单选择排序
9.3.2 堆排序
9.4 拓扑分类
9.5 其他排序方法简介
9.5.1 归并排序
9.5.2 基数排序
习题
参考文献
猜您喜欢