“数据结构”是计算机专业的核心课程,是从事计算机软件开发和应用人员必备的专业基础。随着计算机的日益普及,“数据结构”课程也在不断地发展。
本书按照清华大学计算机系本科“数据结构”大纲的要求,从面向对象的概念、对象类设计的风格和数据结构的层次开始,从线性结构到非线性结构,从简单到复杂,深入地讨论了各种数据结构内在的逻辑关系及其在计算机中的实现方式和使用。此外,对常用的迭代、递归、回溯等算法设计技巧,搜索和排序算法等都做了详尽的描述,并引入了简单的算法分析。
全书采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化基本知识和基本能力的双基训练。全书条理清晰,通俗易懂,图文并茂,适于自学。
与本书配套的《数据结构习题解析——用面向对象方法与C++语言描述》一书已经由清华大学出版社出版。本书适合大专院校计算机、软件专业本科生使用,也可作为教师和有关科研人员的参考书。
目录
第1章 数据结构概论
1.1 数据结构的概念
1.1.1 数据结构举例
1.1.2 数据与数据结构
1.1.3 数据结构的分类
1.1.4 数据结构课程的内容
1.2 数据结构的抽象形式
1.2.1 数据类型
1.2.2 数据抽象与抽象数据类型
1.3 作为ADT的C++类
1.3.1 面向对象的概念
1.3.2 C++中的类
1.3.3 C++中的对象
1.3.4 C++的输入输出
1.3.5 C++中的函数
1.3.6 动态存储分配
1.3.7 C++中的继承
1.3.8 多态性
1.3.9 C++的模板
1.4 算法定义
1.5 算法性能分析与度量
1.5.1 算法的性能标准
1.5.2 算法的后期测试
1.5.3 算法的事前估计
1.5.4 算法的渐进分析
第一1.5.5 最坏、最好和平均情况
习题
第2章 线性表
2.1 线性表
2.1.1 线性表的概念
2.1.2 线性表的类定义
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.3.4 带附加头结点的单链表
2.3.5 单链表的模板类
2.4 线性链表的其他变形
2.4.1 循环链表
2.4.2 双向链表
2.5 单链表的应用:多项式及其运算
第一2.5.1 多项式的表示
第一2.5.2 多项式的类定义
第一2.5.3 多项式的加法
第一2.5.4 多项式的乘法
2.6 静态链表
第3章 栈和队列
3.1 栈
3.1.1 栈的定义
3.1.2 顺序栈
3.1.3 链式栈
第一3.1.4 栈的应用之一——括号匹配
第一3.1.5 栈的应用之二——表达式的计算
3.2 栈与递归
3.2.1 递归的概念
3.2.2 递归过程与递归工作栈
第一3.2.3 用回溯法求解迷宫问题
3.3 队列
3.3.1 队列的概念
3.3.2 循环队列
3.3.3 链式队列
3.3.4 队列应用举例:打印二项展开式(a+b)i的系数
第一3.3.5 队列应用举例:电路布线
3.4 优先级队列
3.4.1 优先级队列的概念
第一3.4.2 优先级队列的存储表示和实现
3.5 双端队列
3.5.1 双端队列的概念
3.5.2 双端队列的数组表示
3.5.3 双端队列的链表表示
第4章 数组、串与广义表
第5章 树
第6章 集合与字典
第7章 搜索结构
第8章 图
第9章 排序
第10章 文件、外部排序与搜索
附录A 程序索引
附录B 词汇索引
参考文献
【提醒】购买纸书后,扫码即可免费领取购书大礼包!
如果你已购买本书,请扫一扫封面右上角的二维码,如下图:
如果你未购买纸书,请先购买:
立即购买
Copyright 2007–2021 www.100xuexi.com All rights reserved 圣才学习网 版权所有
全国热线:400-900-8858(09:30-22:00),18001260133(09:30-22:00)
增值电信业务经营许可证 出版物经营许可证 网络文化经营许可证 广播电视节目制作经营许可证
京ICP备09054306号-30 鄂公网安备42018502007632号 营业执照
国家高新技术企业 中关村高新技术企业