6小时教学视频、96个趣味算法题、37个算法面试题,内容丰富,浅显易懂!
帮您了解算法,开阔眼界,培养编程兴趣,提高编程能力,增强求职的竞争力!
注重对基础算法理论和数据结构的阐述,以夯实基础
讲解通俗易懂,并力求总结出解决各种问题的一般规律
学习梯度科学,既适合入门,也适合进一步提高和研究
基本做到了每一节都有实例,每一种算法都有实例
选取的算法例题有较强的趣味性,可极大地提高读者的兴趣
实例流程图规范,程序注释详尽,并通过了测试,可以运行
实例用C++实现,既可以验证算法理论,还可加提高C++编程水平
海报:
《妙趣横生的算法(C++语言实现)》内容丰富,生动有趣,寓教于乐,旨在帮助读者学习数据结构和算法的相关知识,从而开阔眼界,培养编程兴趣,提高编程能力,增强求职的竞争力。如果您想提高自己对算法和数据结构的理解能力,在程序设计之路上走得更远,那么请翻开《妙趣横生的算法(C++语言实现)》,仔细研读吧,它将助您一臂之力。
《妙趣横生的算法(C++语言实现)》以通俗易懂的语言深入浅出地介绍了常用的数据结构和算法知识。在讲解算法理论时,结合实际编程环境,配合精选的例题,利用C++语言将算法理论转换为代码,以加深读者对各种算法的特点和难点的理解,并能更好地掌握算法的应用。另外,作者为书中的重点内容录制了高清教学视频,便于读者高效、直观地学习。
《妙趣横生的算法(C++语言实现)》共12章,分为4篇。第1篇是基础知识篇,主要介绍常用的数据结构。第2篇是基础算法篇,主要介绍算法的一些基础理论和常用的经典基础算法,包含算法的数学基础、排序算法、查找算法等。第3篇是高级算法篇,主要介绍难度较高的一些算法,包括高级图算法、动态规划、贪心算法等。其中,高级图算法是重点,用途很广,是在第3章图结构的基础上深入分析图结构在工程应用中的作用和常用算法思想,包括拓扑排序和最小生成树等。第4篇是算法实战篇,以实例分析为主,包含大量的数学应用方面的算法题和面试中常见的算法题。本篇是对本书算法理论知识的总结和实践,有较高的实用性。
《妙趣横生的算法(C++语言实现)》特别适合算法入门人员和爱好者阅读,也适合有一定C++编程基础的人员作为进阶读物。另外,本书还适合相关院校作为教材使用。对于参加IT企业面试的程序员和各种程序设计选拔赛及信息学竞赛的参赛者,本书也是一本很好的参考读物。
第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 函数增长率
……
第3篇 高级算法篇
第4篇 算法实战篇