编辑推荐
暂无
内容简介
本书以ACM和IEEE/CS Computing Curricula 2005课程体系以及教育部计算机科学与技术教学指导委员会发布的 “高等学校计算机科学与技术本科专业规范”中制定的关于数据结构和算法设计与分析的知识结构和体系为依据,以基本数据结构和抽象数据类型为知识单元而编写。本书一个明显的特色是在STL(Standard Template Library)框架下描述数据结构的设计思想和实现方法,使读者循序渐进地理解数据抽象,面向对象设计方法和泛型算法设计三位一体的面向高层次的现代化软件设计风格。全书共分16章,涵盖 CC2005 课程体系中有关算法与数据结构、知识结构和体系的重要内容,包括算法与数据结构引论、向量、双端队列、表、栈和队列、排序与选择、树、二叉搜索树、平衡搜索树、集合、映射、堆与优先队列、散列、并查集、图与相关算法。
全书采用面向对象的C++语言作为描述语言,以STL的设计理念为描述和实现框架,内容丰富,叙述简明,理论与实践并重,每章设计有应用举例、数据结构与算法实验题,并为任课教师免费提供电子课件和课程实验用数据。
本书可作为高等学校计算机、电子信息、信息与计算科学、信息管理与信息系统等专业数据结构课程教材,也适合工程技术人员和自学者学习参考。
作者简介
王晓东教授,福建省计算机学会理事长。研究领域是算法设计与算法评价,基于计算机网络和信息安全的大规模问题求解算法与数据结构,信息可视化技术,几何计算,并行和分布式算法设计,计算复杂性理论。主持国家自然科学基金项目、国家优秀留学回国人员基金项目、福建省杰出人
目录
第1章 算法与数据结构引论
1.1 算法及其复杂性的概念
1.2 数据结构与抽象数据类型
1.3 用C++描述数据结构与算法
1.4 递归
1.5 标准模板库STL与泛型算法
1.6 应用举例
习题1
数据结构与算法实验1
第2章 向量
2.1 向量的基本概念
2.2 抽象数据类型向量
2.3 向量的迭代器
2.4 向量的实现方法
2.5 矩阵与多维向量
2.6 高精度整数
2.7 应用举例
习题2
数据结构与算法实验2
第3章 双端队列
3.1 双端队列的基本概念
3.2 抽象数据类型双端队列
3.3 双端队列的实现方法
3.4 双端队列的迭代器
3.5 应用举例
习题3
数据结构与算法实验3
第4章 线性表
4.1 表的基本概念
4.2 用数组实现表
4.3 用指针实现表
……
第5章 栈
第6章 队列
第7章 排序与选择
第8章 树
第9章 二叉搜索树
第10章 平衡搜索树
第11章 集合
第12章 映射
第13章 散列
第14章 堆与优先队列
第15章 并查集
第16章 图
参考文献
免费在线读
第1章 算法与数据结构引论
1.1 算法及其复杂性的概念
1.1.1 算法与程序
对于计算机科学来说,算法(algorithm)的概念至关重要。例如在大型软件系统的开发中,设计出有效的算法将起决定性的作用。
算法是由若干条指令组成的有穷序列,且满足下述几条性质。
(1)输入:有若干个由外部提供的量作为算法的输入。
(2)输出:算法产生至少一个量作为输出。
(3)确定性:组成算法的每条指令是清晰,无歧义的。
(4)有限性:算法中每条指令的执行次数有限,执行每条指令的时间也是有限的。
程序(program)是算法用某种程序设计语言的具体实现。程序可以不满足算法的性质(4)。例如操作系统,它是一个在无限循环中执行的程序,因而不是一个算法。然而可把操作系统的各种任务看成是一些单独的问题,每一个问题由操作系统中的一个子程序通过特定的算法来实现。该子程序得到输出结果后便终止。
1.1.2 算法复杂性的概念
一个算法的复杂性的高低体现在运行该算法需要多少计算机资源。所需要的资源越多,算法的复杂性越高。所需要的资源越少,算法的复杂性就越低。最重要的计算机的资源是时间和空间资源。……
数据结构(STL框架)(21世纪大学本科计算机专业系列教材) pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版