


定价:21元
印次:3-4
ISBN:9787302200673
出版日期:2009.09.01
印刷日期:2015.07.10
图书责编:杨帆
图书分类:教材
本书(下册)共9章,从第26~第34章,涵盖了二叉树、堆、树、图、二叉搜索树、平衡二叉搜索树、B树、散列和排序等主要内容。基于上册已经包含了C++基础,模拟的C++新标准中的Vector、List、String等数据结构线性部分,通用算法和迭代器等内容,本书集中讨论了数据结构的非线性部分,并利用C++实现了全部算法。 本书可以作为C语言和C++语言的本科或专科教材,也可以作为计算机爱好者和程序员的自学教材或参考书。
本书(下册)内容是在上册已经包含了C++基础,模拟的C++新标准中的Vector、List、String等数据结构线性部分,通用算法和迭代器内容的基础上组织的,主要讨论数据结构非线性部分,共9章,从第26~第34章,涵盖了二叉树、堆、树、图、二叉搜索树、平衡二叉搜索树、B树、散列和排序,并利用C++实现了全部算法。这是与第2版教材的主要区别。 本书将一些经典的算法纳入相应的经典结构中进行描述。例如,快速排序和幂集归入二叉树前序遍历,汉诺塔问题并入二叉树中序遍历,哈夫曼树是堆类的直接应用,八皇后和迷宫分别在树和图的深度优先遍历中解决。本书中的算法描述清晰紧凑,代码简洁流畅,既保留了第2版的特点,又因为改用C++语言描述而有所不同。 图1 多媒体软件示例算法性能分析历来是学习数据结构的难点之一,本书将它放在了最后一章,和排序算法一起讨论,使读者可以首先集中精力熟悉和理解各种算法设计和代码实现,然后在充分的感性认识基础上,以综合提高的姿态,以排序为典型内容,学习和掌握算法的时间和空间复杂度分析技术。这是第2版教材没有的内容。 本书的图类综合了Vector、List、适配器、堆方法和C++文件读写方法等多项内容,增强了教材内容的连贯性和整体性。 和上册一样,本书配备了多媒体课件(如图1所示),既可助教又可助学,使复杂和抽象的算法变得直观而简单,尤其对平衡二叉树、图的最短路径、单元最短路径等难度很大的算法,效果更加明显,对初学者更是意义非凡。 本书的源代码和课件可以从精品课网站上直接下载,网址:http://59.67.71.237:8080/dsc. 读者如有问题或发现错...
26.1 二叉树的基本概念 /1
26.2 二叉树的性质 /2
26.3 二叉树的存储结构 /3
26.3.1 二叉树顺序存储 /3
26.3.2 二叉树链式存储 /3
26.4 二叉树层次遍历 /5
26.4.1 层次遍历 /6
26.4.2 把二叉树的顺序存储转为
链式存储 /7
26.4.3 垂直输出二叉树 /7
26.5 二叉树前序遍历 /11
26.5.1 前序遍历递归算法 /11
26.5.2 前序遍历非递归算法 /12
26.5.3 快速排序 /12
26.5.4 集合的幂集 /14
26.6 二叉树中序遍历 /16
26.6.1 中序遍历递归算法 /16
26.6.2 中序遍历非递归算法 /17
26.6.3 汉诺塔递归算法 /18
26.7 二叉树后序遍历 /19
26.7.1 后序遍历递归算法 /19
26.7.2 后序遍历非递归算法 /20
26.7.3 求二叉树深度、二叉链表的复制
和删除 /20
26.7.4 把二叉树的顺序存储转为链式
存储的递归算法 /22
26.7.5 由前序和中序序列建立二叉
链表 /22
习题26 /24第27章 堆 /25
27.1 小根堆Heap类 /25
27.2 堆排序 /29
27.3 哈夫曼树 /32
27.3.1 哈夫曼树的定义 /32
27.3.2 建立哈夫曼树 /32
27.3.3 哈夫曼编码 /35
习题27 /35
第28章 树 /36
28.1 树的基本概念和存储 /36
28.2 Tree... 查看详情





