内容简介
数据结构是计算机专业的核心课程,是从事计算机软件开发和应用人员必备的专业基础。随着计算机的日益普及,“数据结构”课程也在不断地发展。
《清华大学计算机系列教材:数据结构(用面向对象方法与C++语言描述)(第2版)》按照清华大学计算机系本科“数据结构”大纲的要求,从面向对象的概念、对象类设计的风格和数据结构的层次开始,从线性结构到非线性结构,从简单到复杂,深入地讨论了各种数据结构内在的逻辑关系及其在计算机中的实现方式和使用。此外,对常用的迭代、递归、回溯等算法设计技巧'搜索和排序算法等都做了详尽的描述,并引入了简单的算法分析。
全书采用面向对象的观点讨论数据结构技术,并以兼有面向过程和面向对象双重特色的C++语言作为算法的描述工具,强化基本知识和基本能力的双基训练。全书条理清晰,通俗易懂,图文并茂,适于自学。
与《清华大学计算机系列教材:数据结构(用面向对象方法与C++语言描述)(第2版)》配套的《数据结构习题解析一用面向对象方法与C++语言描述》一书已经由清华大学出版社出版。《清华大学计算机系列教材:数据结构(用面向对象方法与C++语言描述)(第2版)》适合大专院校计算机、软件专业本科生使用,也可作为教师和有关科研人员的参考书。
内页插图
目录
第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 优先级队列的存储表示和实现
……
第4章 数组、串与广义表
第5章 树
第6章 集合与字典
第7章 搜索结构
第8章 图
第9章 排序
第10章 文件、外部排序与搜索
附录A 程序索引
附录B 词汇索引
参考文献
前言/序言
清华大学计算机系列教材:数据结构(用面向对象方法与C++语言描述)(第2版) 电子书 下载 mobi epub pdf txt