-
内容大纲
本书是关于C++程序设计的经典教材,分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计和数据结构。本书采用“基础优先,问题驱动”的教学方式,在设计自定义类之前介绍基本的编程概念和技术,同时侧重于解决问题而非语法,通过不同领域的示例说明相关概念。本书引导读者循序渐进地学习,从基本的编程技术到面向对象编程,从简单的数据类型到经典的结构,为读者构建了友好的学习曲线。本书可作为高等院校计算机相关专业程序设计课程的教材,也可作为C++语言及编程爱好者的参考书。本书为进阶篇,对应原书的第17-27章。 -
作者介绍
梁勇(Y.Darliel Liang),现为阿姆斯特朗亚特兰大州立大学计算机科学系教授。之前曾是普度大学计算机科学系副教授,并曾两次获得普度大学杰出研究奖。他所编写的Java教程在美国大学Java课程中采用率极高,同时他还兼任Prentice Hall Java系列丛书的编辑。他是“Java Champion”荣誉得主,并在世界各地给在校学生和程序员做Java语言及技术方面的讲座。 -
目录
第17章 递归
17.1 简介
17.2 案例研究:计算阶乘
17.3 案例研究:斐波那契数
17.4 使用递归解决问题
17.5 递归辅助函数
17.5.1 选择排序
17.5.2 二分查找
17.6 汉诺塔
17.7 八皇后问题
17.8 递归与迭代
17.9 尾递归
关键术语
章节总结
编程练习
第18章 开发高效算法
18.1 简介
18.2 使用大O表示法衡量算法效率
18.3 示例:确定大O
18.4 分析算法时间复杂度
18.4.1 分析二分查找
18.4.2 分析选择排序
18.4.3 分析汉诺塔问题
18.4.4 常见的递归关系
18.4.5 比较常见的增长函数
18.5 使用动态规划求斐波那契数
18.6 使用欧几里得算法求最大公约数
18.7 寻找质数的高效算法
18.8 使用分治法寻找最近点对
18.9 使用回溯法解决八皇后问题
18.10 案例研究:寻找凸包
18.10.1 礼品包装算法
18.10.2 Graham算法
18.11 字符串匹配
18.11.1 Boyer-Moore算法
18.11.2 Knuth-Morris-Pratt算法
关键术语
章节总结
编程练习
第19章 排序
19.1 简介
19.2 插入排序
19.3 冒泡排序
19.4 归并排序
19.5 快速排序
19.6 堆排序
19.6.1 存储堆
19.6.2 添加新节点
19.6.3 删除根
19.6.4 Heap类
19.6.5 使用Heap类进行排序
19.6.6 堆排序的时间复杂度
19.7 桶排序和基数排序
19.8 外部排序
19.8.1 实现第一阶段
19.8.2 实现第二阶段
19.8.3 合成两个阶段
19.8.4 外部排序复杂度
关键术语
章节总结
编程练习
第20章 链表、队列和优先级队列
第21章 二叉查找树
第22章 STL容器
第23章 STL算法
第24章 散列
第25章 AVL树
第26章 图及其应用
第27章 加权图及其应用
附录A C++关键字
附录B ASCII字符集
附录C 运算符优先级表
附录D 数字系统
附录E 按位运算
附录F 使用命令行参数
附录G 枚举类型
附录H 正则表达式
附录I 大O、大Omega和大Theta表示法
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...