可以朗读
语音朗读
323千字
字数
2021-08-01
发行日期
展开全部
主编推荐语
本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。
内容简介
通过对本书的学习,读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和图的应用,以及8种搜索技术,并领悟不同的数据结构和算法的精髓,熟练应用各种算法解决实际问题。
本书总计9章。第1章讲解C++语言基础,包括语法、函数、递归和数组;第2章讲解算法入门知识,包括算法复杂度计算、贪心算法、分治算法和STL应用;第3章讲解线性表的应用,包括顺序表、单链表、双向链表、循环链表和静态链表;第4章讲解栈和队列的应用,包括顺序栈、链栈、顺序队列和链队列;第5章讲解树的应用,包括树的存储、二叉树遍历与还原、哈夫曼编码;第6章讲解图论基础,包括图的存储、图的遍历和图的连通性;第7章讲解图的应用,包括最短路径、最小生成树、拓扑排序和关键路径;第8章讲解查找算法,包括哈希表、字符串模式匹配、二叉查找树和平衡二叉树;第9章讲解搜索技术,包括二分搜索、深度优先搜索、广度优先搜索和启发式搜索。
本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入名企的学生、求职者,抑或是想提升技术的在职人员,都可以参考本书。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 语言基础
- 1.1 开启算法之旅:hello world!
- 1.2 常见数据类型及其表达范围
- 1.3 玩转输入输出
- 1.4 人生就是不断地选择:if…else
- 1.5 每天都有很多次重复:for/while
- 1.6 如何轻松写一个函数
- 1.7 从前有座山,山里有座庙:递归之法
- 1.8 信息携带者:定义一个结构体
- 1.9 巧用数组
- 1.10 玩转字符串
- 第2章 算法入门
- 2.1 算法之美
- 2.1.1 如何评价一个算法的优劣
- 2.1.2 算法复杂度的计算方法
- 2.2 贪心算法
- 2.2.1 贪心本质
- 2.2.2 最优装载问题
- 2.3 分治算法
- 2.3.1 分治算法秘籍
- 2.3.2 合并排序
- 2.3.3 快速排序
- 2.4 STL应用
- 2.4.1 vector
- 训练 间谍
- 2.4.2 栈
- 训练 Web导航
- 2.4.3 queue
- 训练 骑士移动
- 2.4.4 list
- 训练 士兵队列训练
- 2.4.5 deque
- 训练 度度熊学队列
- 2.4.6 priority_queue
- 训练 黑盒子
- 2.4.7 bitset
- 训练 集合运算
- 2.4.8 set/multiset
- 训练1 集合合并
- 训练2 并行处理
- 2.4.9 map/multimap
- 训练1 硬木种类
- 训练2 双重队列
- 训练3 水果
- 2.4.10 STL的常用函数
- 训练1 差的中位数
- 训练2 中位数
- 训练3 订单管理
- 训练4 字谜
- 第3章 线性表的应用
- 3.1 顺序表
- 3.2 单链表
- 3.3 双向链表
- 3.4 循环链表
- 3.5 静态链表
- 训练1 区块世界
- 训练2 悲剧文本
- 训练3 移动盒子
- 第4章 栈和队列的应用
- 4.1 顺序栈
- 4.2 链栈
- 4.3 顺序队列
- 4.4 链队列
- 训练1 括号匹配
- 训练2 铁轨
- 训练3 矩阵连乘
- 训练4 打印队列
- 训练5 并发模拟器
- 第5章 树的应用
- 5.1 树
- 5.1.1 树的存储
- 5.1.2 树、森林与二叉树的转换
- 5.2 二叉树
- 5.2.1 二叉树的性质
- 5.2.2 二叉树的存储结构
- 5.2.3 二叉树的创建
- 5.3 二叉树遍历
- 5.3.1 先序遍历
- 5.3.2 中序遍历
- 5.3.3 后序遍历
- 5.3.4 层次遍历
- 5.3.5 遍历序列还原树
- 训练1 新二叉树
- 训练2 还原树
- 训练3 树
- 5.4 哈夫曼树
- 原理 哈夫曼编码
- 训练1 围栏修复
- 训练2 信息熵
- 训练3 转换哈夫曼编码
- 训练4 可变基哈夫曼编码
- 第6章 图论基础
- 6.1 图的存储
- 6.1.1 邻接矩阵
- 6.1.2 边集数组
- 6.1.3 邻接表
- 6.1.4 链式前向星
- 训练1 最大的节点
- 训练2 有向图D和E
- 训练3 奶牛排序
- 6.2 图的遍历
- 6.2.1 广度优先遍历
- 6.2.2 深度优先遍历
- 训练1 油田
- 训练2 理想路径
- 训练3 骑士的旅程
- 训练4 抓住那头牛
- 6.3 图的连通性
- 6.3.1 连通性的相关知识
- 6.3.2 Tarjan算法
- 训练1 电话网络
- 训练2 道路建设
- 训练3 图的底部
- 训练4 校园网络
- 第7章 图的应用
- 7.1 最短路径
- 7.1.1 Dijkstra算法
- 7.1.2 Floyd算法
- 7.1.3 Bellman-Ford算法
- 7.1.4 SPFA算法
- 训练1 重型运输
- 训练2 货币兑换
- 训练3 虫洞
- 训练4 最短路径
- 7.2 最小生成树
- 7.2.1 Prim算法
- 7.2.2 Kruskal算法
- 训练1 丛林之路
- 训练2 联网
- 训练3 空间站
- 训练4 道路建设
- 7.3 拓扑排序
- 原理 拓扑排序
- 训练1 家族树
- 训练2 全排序
- 训练3 标签球
- 训练4 秩序
- 7.4 关键路径
- 原理 关键路径
- 训练1 关键路径
- 训练2 指令安排
- 训练3 家务琐事
- 训练4 免费DIY之旅
- 训练5 游戏玩家
- 第8章 查找算法
- 8.1 哈希表
- 8.1.1 散列函数
- 8.1.2 处理冲突的方法
- 8.1.3 散列查找及性能分析
- 训练1 雪花
- 训练2 公式
- 训练3 正方形
- 8.2 字符串模式匹配
- 8.2.1 BF算法
- 8.2.2 KMP算法
- 训练1 统计单词数
- 训练2 KMP字符串匹配
- 8.3 二叉查找树
- 原理 二叉查找树详解
- 训练1 落叶
- 训练2 完全二叉搜索树
- 训练3 硬木种类
- 训练4 二叉搜索树
- 8.4 平衡二叉树
- 原理 AVL树详解
- 训练1 平衡二叉树
- 训练2 双重队列
- 训练3 黑盒子
- 训练4 硬木种类
- 第9章 搜索技术
- 9.1 二分搜索
- 原理 二分搜索技术
- 训练1 跳房子游戏
- 训练2 烘干衣服
- 训练3 花环
- 训练4 电缆切割
- 9.2 深度优先搜索
- 9.2.1 回溯法
- 9.2.2 子集树
- 9.2.3 m叉树
- 9.2.4 排列树
- 训练1 魅力手镯
- 训练2 图的m着色问题
- 训练3 N皇后问题
- 9.2.5 DFS+剪枝优化
- 训练1 数独游戏
- 训练2 生日蛋糕
- 训练3 木棒
- 9.3 广度优先搜索
- 9.3.1 分支限界法
- 9.3.2 队列式广度优先搜索
- 9.3.3 优先队列式广度优先搜索
- 训练1 迷宫问题
- 训练2 加满油箱
- 9.3.4 嵌套广度优先搜索
- 训练 推箱子
- 9.3.5 双向广度优先搜索
- 训练 魔鬼Ⅱ
- 9.4 启发式搜索
- 9.4.1 A*算法
- 9.4.2 IDA*算法
- 训练1 八数码
- 训练2 八数码II
- 训练3 第K短路
- 训练4 幂运算
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。