妙趣横生的算法:C++语言实现
内容介绍
《妙趣横生的算法(C++语言实现)》内容丰富,生动有趣,寓教于乐,旨在帮助读者学习数据结构和算法的相关知识,从而开阔眼界,培养编程兴趣,提高编程能力,增强求职的竞争力。如果您想提高自己对算法和数据结构的理解能力,在程序设计之路上走得更远,那么请翻开《妙趣横生的算法(C++语言实现)》,仔细研读吧,它将助您一臂之力。
《妙趣横生的算法(C++语言实现)》以通俗易懂的语言深入浅出地介绍了常用的数据结构和算法知识。在讲解算法理论时,结合实际编程环境,配合精选的例题,利用C++语言将算法理论转换为代码,以加深读者对各种算法的特点和难点的理解,并能更好地掌握算法的应用。另外,作者为书中的重点内容录制了高清教学视频,便于读者高效、直观地学习。
《妙趣横生的算法(C++语言实现)》共12章,分为4篇。第1篇是基础知识篇,主要介绍常用的数据结构。第2篇是基础算法篇,主要介绍算法的一些基础理论和常用的经典基础算法,包含算法的数学基础、排序算法、查找算法等。第3篇是高级算法篇,主要介绍难度较高的一些算法,包括高级图算法、动态规划、贪心算法等。其中,高级图算法是重点,用途很广,是在第3章图结构的基础上深入分析图结构在工程应用中的作用和常用算法思想,包括拓扑排序和最小生成树等。第4篇是算法实战篇,以实例分析为主,包含大量的数学应用方面的算法题和面试中常见的算法题。本篇是对本书算法理论知识的总结和实践,有较高的实用性。
目录
- 第1篇 基础知识篇
- 第1章 基础数据结构(教学视频:26分钟)
- 1.1 顺序表
- 1.1.1 顺序表的定义
- 1.1.2 顺序表的基本操作
- 1.1.3 实例应用与分析
- 1.2 链表
- 1.2.1 链表的定义
- 1.2.2 链表基本操作
- 1.2.3 双向链表
- 1.2.4 循环链表
- 1.2.5 实例应用与分析
- 1.3 栈
- 1.3.1 栈的定义
- 1.3.2 栈的基本操作
- 1.3.3 实例应用与分析
- 1.4 队列
- 1.4.1 队列的定义
- 1.4.2 队列的基本操作
- 1.4.3 实例应用与分析
- 1.5 散列表
- 1.5.1 散列表的定义
- 1.5.2 散列函数
- 1.5.3 基于散列的查找
- 1.5.4 实例应用与分析
- 第2章 树结构(教学视频:43分钟)
- 2.1 树结构简介
- 2.1.1 树的定义
- 2.1.2 树的逻辑表示
- 2.1.3 基本术语
- 2.1.4 树的性质
- 2.1.5 树的基本操作
- 2.1.6 树与森林
- 2.1.7 实例应用与分析
- 2.2 二叉树
- 2.2.1 二叉树的定义
- 2.2.2 二叉树的性质
- 2.2.3 二叉树的存储结构
- 2.2.4 二叉树的基本操作
- 2.2.5 实例应用与分析
- 2.3 线索二叉树
- 2.3.1 线索二叉树的定义
- 2.3.2 线索二叉树的基本操作
- 2.4 二叉查找树
- 2.4.1 二叉查找树的定义
- 2.4.2 二叉查找树的基本操作
- 2.4.3 实例应用与分析
- 2.5 红黑树
- 2.5.1 红黑树的定义
- 2.5.2 红黑树的基本操作
- 2.6 B树
- 2.6.1 B树的定义
- 2.6.2 B树的基本操作
- 第3章 图结构(教学视频:34分钟)
- 3.1 图结构简介
- 3.2 图的存储结构
- 3.2.1 邻接矩阵存储
- 3.2.2 邻接表存储
- 3.3 图的基本操作和图的遍历
- 3.3.1 图的基本操作
- 3.3.2 深度优先遍历
- 3.3.3 广度优先遍历
- 3.3.4 实例应用与分析
- 第2篇 基础算法篇
- 第4章 算法入门(教学视频:30分钟)
- 4.1 什么是算法
- 4.2 算法的数学基础
- 4.2.1 算法分析
- 4.2.2 函数增长率
- 4.3 基本算法思想
- 4.3.1 分治法
- 4.3.2 递归式
- 4.3.3 回溯法
- 4.3.4 穷举法
- 4.3.5 随机算法
- 4.4 基础算法应用实例
- 第5章 排序算法(教学视频:49分钟)
- 第6章 查找算法(教学视频:22分钟)
- 第3篇 高级算法篇
- 第7章 高级图算法(教学视频:30分钟)
- 第8章 动态规划(教学视频:17分钟)
- 第9章 贪心算法(教学视频:21分钟)
- 第10章 综合趣味算法(教学视频:34分钟)
- 第4篇 算法实战篇
- 第11章 数学趣题解决方法(教学视频:23分钟)
- 第12章 面试算法题精粹(教学视频:24分钟)