网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 数据结构--C++实现(第2版普通高等教育电气信息类应用型系列教材)
分类
作者
出版社 科学出版社
下载
简介
内容推荐
数据结构是计算机专业教学计划中的一门核心课程,也是信息管理、通信电子、自动控制等与计算机技术关系密切的专业的一门基础课程。从事与计算机科学与技术相关的工作,尤其是计算机应用领域的开发和研制工作,必须具备坚实的数据结构的基础。本书对C++语言作了简单介绍,介绍了线性表、栈、队列、数组、广义表、树、图等数据结构,并介绍了查找和排序的方法。全书用C++语言描述并实现了所有数据结构的类和程序,并附有习题,便于教学。
本书是为高等院校开设数据结构课程编著的教材,可作为计算机专业本科生教材使用,也可供从事计算机开发和应用的工程技术人员阅读、参考。
目录
第一章 绪论
1.1 (算法+数据结构 =程序
1.2 数据结构的基本概念
1.2.1 两个简单的数据结构实例
1.2.2 数据结构的定义
1.3 算法性能与复杂度
1.3.1 算法的定义
1.3.2 算法的性能标准
1.3.3 算法复杂度
习题一
第二章 C++程序设计语言简介
2.1 C++语言基础
2.1.1 程序结构
2.1.2 数据声明和作用域
2.1.3 输入/输出
2.1.4 函数
2.1.5 参数传递
2.1.6 函数名重载
2.1.7 动态内存分配
2.1.8 结构与联合
2.2 类与对象的基本概念
2.2.1 类与对象
2.2.2 消息与合作
2.2.3 多态性
2.3 面向对象的程序设计方法
2.4 C++类与对象
2.5 构造函数和析构函数
2.6 工具函数
2.7 继承
2.8 this指针的使用
2.9 虚函数、多态性以及动态联编
2.9.1 虚函数和多态性
2.9.2 动态联编
2.10 类模板
习题二
第三章 线性表
3.1 线性表的定义
3.2 线性表的顺序表示
3.2.1 顺序表的类模板定义
3.2.2 顺序表相关算法的复杂度分析
3.3 线性表的链表表示
3.3.1 单链表
3.3.2 双向循环链表
3.3.3 静态链表
3.4 线性表的应用
3.4.1 集合的表示和相关运算的实现
3.4.2 一元多项式表示和相关运算的实现
习题三
第四章 栈、队列和递归
4.1 栈
4.1.1 顺序栈
4.1.2 链式栈
4.1.3 栈的应用—— 表达式求值
4.2 队列
4.2.1 循环队列
4.2.2 链式队列
4.2.3 队列的应用—— 车厢调度
4.3 递归
4.3.1 递归的概念
4.3.2 递归过程与递归工作栈
4.3.3 消除递归
习题四
第五章 串、数组和广义表
5.1 字符串
5.1.1 字符串的基本概念
5.1.2 常用的C++字符串函数
5.1.3 串类的定义及其实现
5.1.4 模式匹配
5.2 数组
5.2.1 数组的基本概念
5.2.2 数组的顺序存储结构
5.3 稀疏矩阵
5.3.1 非零元素的三元组定义
5.3.2 三元组顺序表
5.3.3 十字链表
5.4 广义表
5.4.1 广义表的定义
5.4.2 广义表的存储结构
5.4.3 n元多项式的表示
习题五
第六章 树和森林
6.1 树的概念
6.1.1 树的定义
6.1.2 树的术语
6.1.3 树的表示形式
6.1.4 树的基本操作
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的基本操作
6.3 二叉树的存储结构
6.3.1 顺序二叉树
6.3.2 二叉树的链表表示法
6.3.3 二叉树的二叉链表类模板声明
6.4 遍历二叉树
6.4.1 先序遍历
6.4.2 中序遍历
6.4.3 后序遍历
6.4.4 层序遍历
6.5 线索二叉树
6.5.1 线索二叉树的定义
6.5.2 线索二叉树的类模板定义
6.6 二叉树的应用
6.6.1 堆
6.6.2 哈夫曼树
6.7 树和森林的实现
6.7.1 树的存储结构
6.7.2 树、森林和二叉树的转换
6.7.3 树的遍历
6.7.4 森林的遍历
6.8 等价类及其表示
6.8.1 等价关系与等价类
6.8.2 并查集
习题六
第七章 图
7.1 图的基本概念
7.1.1 图的定义
7.1.2 图的术语
7.1.3 图的基本操作
7.2 图的存储结构
7.2.1 邻接矩阵
7.2.2 邻接表
7.2.3 邻接多重表
7.2.4 十字链表
7.3 图的遍历与连通性
7.3.1 深度优先遍历
7.3.2 广度优先遍历
7.3.3 连通分量
7.4 最小生成树
7.4.1 克鲁斯卡尔算法
7.4.2 普里姆算法
7.5 最短路径
7.5.1 弧上权值为非负情形的单源点最短路径问题
7.5.2 弧上权值为任意值的单源点最短路径问题
7.5.3 所有顶点之间的最短路径
7.6 活动网络
7.6.1 用顶点表示活动的网络
7.6.2 用边表示活动的网络
习题七
第八章 查找
8.1 基本概念
8.2 顺序表
8.2.1 顺序表的查找
8.2.2 有序表的折半查找
8.3 索引顺序表和倒排表
8.3.1 索引顺序表
8.3.2 倒排表
8.4 二叉排序树
8.4.1 二叉排序树定义
8.4.2 二叉排序树上的查找
8.4.3 二叉排序树的插入操作
8.4.4 二叉排序树的删除
8.4.5 二叉排序树查找的性能分析
8.5 平衡二叉树
8.5.1 平衡二叉树的定义
8.5.2 平衡旋转
8.5.3 平衡二叉树中插入结点
8.5.4 平衡二叉树中删除结点
8.6 B-树
8.6.1 动态的m路查找树
8.6.2 B-树的定义
8.6.3 B-树的插入
8.6.4 B-树的删除
8.6.5 B+树
8.7 散列表
8.7.1 散列表的基本概念
8.7.2 散列函数
8.7.3 处理冲突的闭散列方法—— 开地址方法
8.7.4 闭散列方法的实现
8.7.5 处理冲突的开散列方法—— 链地址法
8.7.6 散列表分析
习题八
第九章 排序
9.1 基础知识
9.2 交换排序
9.2.1 冒泡排序
9.2.2 快速排序
9.3 插入排序
9.3.1 直接插入排序
9.3.2 折半插入排序
9.3.3 希尔排序
9.4 选择排序
9.4.1 简单选择排序
9.4.2 锦标赛排序
9.4.3 堆排序
9.5 归并排序
9.5.1 归并
9.5.2 两路归并排序
9.5.3 递归的归并排序
9.6 基数排序
9.6.1 多关键字排序
9.6.2 链式基数排序
9.7 各种排序方法的选择和使用
习题九
参考文献
序言
作为计算机程序组成部分的数据结构和算法的研究,
一直受到计算机领域工作者的高度重视。数据结构是计算机
专业教学计划中的一门核心课程,也是信息管理、通信电子
、自动控制等与计算机技术关系密切的专业的一门基础课程

要从事与计算机科学与技术相关的工作,尤其是计算
机应用领域的开发和研制工作,必须具备坚实的数据结构的
基础。
数据结构课程的教学目的是使学生学会分析研究计算
机所要加工处理的数据的特征,掌握组织数据、存储数据和
处理数据的基本方法,并加强在实际应用中选择合适的数据
结构和相应算法的训练。
面向对象技术是软件工程领域中的重要技术,它不仅
是一种程序设计方法,更重要的是一种对真实世界的抽象思
维方式。目前,面向对象的软件分析和设计技术已发展成为
软件开发的主流方法。为了适应软件开发方法与技术的发展
以及应用领域的要求,就有必要改进和充实数据结构的教学
内容。因此,用面向对象的观点来描述数据结构就成为一种
顺理成章的选择。
用面向对象的观点来描述数据结构,要涉及面向对象
程序设计语言的选用问题。C语言是一种广泛用于程序设计
语言教学的语言,C++是以C语言为基础的、使用比较普遍
的面向对象程序设计语言。因此本书采用了C++作为数据结
构的描述语言。
数据结构课程内容丰富,学习量大;隐藏在各部分内
容中的方法和技术多,贯穿于全书的动态链表存储结构和递
归技术令不少初学者望而生畏。本书的编写者长期从事数据
结构课程的教学,对该课程的教学特点和难点有比较深切的
体会。作者在认真总结近30年讲授数据结构课程的基础上
参考了美国ACM/IEEE CS所颁布的《计算2001教程》,吸收
了国内外相关数据结构教材的优点,对多年来形成的数据结
构课程的教学内容进行了合理的剪裁,既强调了数据结构的
原理和方法,又注重了其实践性,使之适应于现代大学生的
学习特点和要求。
本书自2002年第一版出版以来,八次印刷,达17000余
册,被国内近20所高校作为教材使用。本书在第一版的基
础上对每一章的内容作了调整和修改,删减了对本科生来说
不易理解的抽象数据类型的概念以及各种数据结构的抽象数
据类型的描述,增加了部分实例。对各章的习题作了扩充和
修改,习题的形式也更加丰富。
本书的一个重要特点就是将程序设计的基础与数据结
构的方法尽可能地结合起来。第二章介绍C++语言时尽可能
给出比较完整的程序,使学生能对C++语言有比较全面和深
入的了解,也便于上机实习,从而为数据结构课程的实验建
立良好的基础。
全书共九章,第一、二章介绍了数据结构、算法及其
复杂度的基本概念,对C++作了简单介绍。第三章至第五章
介绍了线性结构—— 线性表、栈、队列、数组、广义表;
第六章和第七章介绍了非线性结构——树和图;第八章和第
九章分别介绍了查找和排序的方法。
本书第一至第五章由缪淮扣编写,第六至第九章由沈
俊编写。全书由缪淮扣统稿。顾训穰参与了本书第一版的编
写工作,是本书第一版的作者之一。
本书可与作者编写的辅助教材《数据结构—— C++实
现 习题解析与实验指导》配套使用。
本书编写过程得到了国家自然科学基金项目(批准号
:60970007、61170044)和上海市教育委员会第五期重点
学科建设项目(编号:J50103)的支持;也得到了科学出
版社、上海大学教务处和计算机学院的支持。在此致以诚挚
感谢。
由于作者水平有限,书中难免有不妥之处,敬请广大
读者批评指正。
缪淮扣
2014年3月
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/18 18:20:46