展开全部

主编推荐语

本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。

内容简介

通过对本书的学习,读者可掌握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月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。