大数据实战派 都爱大讲台

当前位置:首页  /  课程  /  算法的乐趣

算法的乐趣

算法的乐趣

分享到:

大讲台和图灵教育携手打造的算法精品课程,以畅销书《算法的乐趣》为核心内容配以详细的视频讲解和答疑服务。带领大家轻松掌握20多个经典算法问题,例如,阿拉伯数字与中文数字、三个水桶等分 8 升水、妖怪与和尚过河、稳定匹配与舞伴…俄罗斯方块游戏、博弈树与棋类游戏等。

  • ¥99   ¥99 

时长    30天          

全款购买 当前学习人数 272 收藏

课程介绍

 切记: 1)这是一门容量相对于市面上普通算法课4倍的课程;2)这门课不适合一口气从头学到尾,而适合做为参考教材保存,根据需要选择性学习;3)如果你能把课程所有内容都吃透,那你太无敌了,地球人都怕你!


作为一名服务过百度、中软、GREE等多家国内外上市公司的过来人,李老师告诉你为什么应该关注这门课程:


1. 算法和数据结构是IT技术人员的基本功,非常重要。可以说,算法几乎决定着一个程序员最终能走多远!


2. 算法是好的互联网公司和IT企业笔试、面试必不可少的一环,应用性的技能容易学,但算法却是内功和潜质的体现。所以算法好,对拿到好offer最最重要。


3. 算法本身很枯燥,而《算法的乐趣》立足点上就是要摆脱用枯燥的方式讲算法,用生动有趣的例子带着大家轻松学会20多种重要的算法。更重要的培养对算法的兴趣。


4. 这门课会结合我自己的项目实战经验对《算法的乐趣》书的内容进行扩充完善,比如强化了面试过程中重要的数据结构相关内容。再比如BAT大公司面试中常见的算法和当前比较前沿实用的算法。


5.我个人比较喜欢研究算法,非常乐意和大家交流,互相学习。讲《算法的乐趣》这门课纯粹是兴趣使然,所以不会为了教而教。


6.我个人曾经面过国内外很多不错的公司,我会把面试的一些经验分享给大家,希望对大家有帮助。


对算法感兴趣的童鞋欢迎加QQ群:329266706,一起交流学习,一起升级打怪,纯爱好,无关乎课程!

看完这么多,送你一个彩蛋!>>> 点击领取300元立减优惠码,总价只需199元


阿拉伯数字与中文数字视频讲解:

妖怪与和尚过河问题视频讲解:

算法与历法算法实现部分代码:

非线性方程与牛顿迭代法实现部分代码:

讲师介绍

  • 李大明

    大讲台金牌讲师 | 北大硕士、前百度工程师

    北大硕士,曾服务于百度、GREE、中软等多家优秀企业。数学功底深厚,精通数据结构和算法,在大流量、高并发互联网项目架构及开发方面有很深的造诣。看看这是怎样的一位老师:

    1)经常被身边朋友同事请教数据结构和算法,包括百度和中软的技术大牛在内,其本人也以此为乐;

    2)考研数学,满分150分的情况下考了147分,最主要是考试过程中还睡了半个多小时;

    3)借助深厚的数学功底,即使复杂算法也是一看就通,常见和前沿常用的算法更是手到擒来;

    4)一次去某名企面试,面试官一道让无数英雄好汉苦思半小时以上的算法题,此人1分钟思考后就讲得轻松自如,面试官当场拜服;

    5)在中软工作过程中,先后辅导多位同事数据结构考研课程,辅导过的人几乎无落榜,被奉为“福将”;

    6)谦逊,和学生交流过程中从不摆谱,永远像朋友一样;

    7)QQ长期在线,只要不忙就会及时回复响应,不厌其烦的交流。

  • 王晓华

    《算法的乐趣》图书作者

    2005年毕业于华中科技大学,目前在中兴通讯上海研发中心从事光纤接入网通讯设备开发,担任EPON(以太网无源光网络)业务软件开发经理,参与开发的PON设备在全球部署过亿线,为数亿家庭提供宽带接入服务。

    业余时间喜欢研究算法和写作博客,最大的乐趣就是用程序解决生活中的问题:

    1)为了方便使用Visual Studio 6.0开发软件,曾特意编写并开源了一个tabbar插件;

    2)为了文档安全,开发了一个基于layerFSD技术的透明文件加密系统;

    3)使用Source Insight软件觉得不习惯,于是以外挂的形式开发了TabSiPlus插件……

    算法可以做的事情还有很多,期待我们会有更多发现!

免费视频这么多,为什么还要来大讲台?

智能化

学习任务智能推送

混合式

“图文+视频”混合式课件

答疑快

30分钟问答响应

实战多

3分理论7分实战

包学会

账号长期有效学会为止

课程大纲

第 1 章:程序员与算法
1、什么是算法
2、程序员必须要会算法吗
     1) 一个队列引发的惨案
     2) 我的第一个算法
3、算法的乐趣在哪里
4、算法与代码
第 2 章:算法设计的基础
算法的基本结构
1、顺序执行
     1)打印雇员工资
     2)计算太阳的地心
2、循环结构
     1)实战操作:杨辉三角
     2)实战操作:魔方阵
3、分支和跳转结构
     1)实战操作:录入员工工资
算法实现与数据结构
1、线性表
     1)线性表的逻辑结构
     2)线性表的顺序存储结构
     3)线性表的链式存储结构
     4)单向链表
     5)单向循环链表
     6)双向循环链表
2、栈
     1)顺序栈
     2)链栈
3、队列
     1)实战操作
4、循环队列
     1)实战操作
5、链队列
     1)实战操作
6、树和二叉树
     1)树的基本概念
     2)树的性质
     3)二叉树的存储结构
     4)二叉树的遍历
7、哈夫曼树
     1)实战操作
8、查找
     1)顺序查找
     2)分块查找
     3)动态查找
     4)哈希表及其查找
9、排序
     1)直接插入排序
     2)折半插入排序
     3)希尔排序
     4)冒泡排序
     5)快速排序
     6)简单选择排序
     7)堆排序
     8)归并排序
10、图
     1)无向图的邻接矩阵
     2)有向图的邻接矩阵
     3)邻接链表法
     4)十字链表
     5)邻接多重表
11、图的遍历
     1)深度优先搜索
     2)广度优先搜索
12、最小生成树
     1)普里姆(Prim)算法
     2)克鲁斯卡尔(Kruskal)算法
数据结构和数学模型与算法的关系
第 3 章:算法设计的常用思想
1、贪婪法
     1)贪婪法的基本思想
     2)贪婪法的实例:0-1背包问题
2、分治法
     1)分治法的基本思想
     2)递归和分治,一对好朋友
     3)分治法的例子:大整数、Karatsuba 乘法算法
3、动态规划
     1)动态规划的基本思想
     2)动态规划的实例:字符串的编辑距离
4、解空间的穷举搜索
     1)解空间的定义
     2)穷举解空间的策略
     3)穷举搜索的例子: Google方程式
第 4 章:阿拉伯数字与中文数字
1、中文数字的特点
     1)中文数字的权位和小节
     2)中文数字的零
     3)中文数字的规则
2、阿拉伯数字转中文数字
     1)一个转换示例
     2)转换算法设计
     3)算法实现
     4)中文大写数字
3、中文数字转阿拉伯数字
     1)转换的基本方法
     2)算法实现
4、数字转换的测试用例
     1)实战操作
第 5 章:三个水桶等分8升水的问题
1、问题与求解思路
2、建立数学模型
     1)状态的数学模型与状态树
     2)倒水动作的数学模型
3、搜索算法
     1)状态树的遍历
     2)剪枝和重复状态判断
4、实战:算法实现
第 6 章:妖怪与和尚过河问题
1、问题与求解思路
2、建立数学模型
     1)状态的数学模型与状态树
     2) 过河动作的数学模型
3、 搜索算法
     1) 状态树的遍历
     2) 剪枝和重复状态判断
4、实战: 算法实现
第 7 章: 稳定匹配与舞伴问题
1、稳定匹配问题
     1)什么是稳定匹配
     2) Gale-Shapley 算法原理
2、 Gale-Shapley 算法的应用实例
     1) 实战:Gale-Shapley 的算法实现
     2) 改进优化:空间换时间
3、有多少稳定匹配
     1) 穷举所有的完美匹配
     2) 不稳定因素的判断算法
     3)穷举的结果
4、二部图与二分匹配
     1) 最大匹配与匈牙利算法
     2) 带权匹配与 Kuhn-Munkres算法
第 8 章:爱因斯坦的思考题
1、 问题的答案
2、 分析问题的数学模型
     1) 基本模型定义
     2) 线索模型定义
3、 算法设计
     1) 穷举所有的组合结果
     2) 利用线索判定结果的正确性
第 9 章:项目管理与图的拓扑排序
1、 AOV 网和 AOE 网
2、 拓扑排序
     1) 拓扑排序的基本过程
     2) 按照活动开始时间排序
3、关键路径算法
     1) 什么是关键路径
     2) 计算关键路径的算法
第 10 章:RLE 压缩算法与 PCX 图像文件格式
1、 RLE 压缩算法
     1) 连续重复数据的处理
     2) 连续非重复数据的处理
     3)实战: 算法实现
2、RLE 与 PCX 图像文件格式
     1) PCX 图像文件格式
     2) PCX_RLE 算法
     3) 256 色 PCX 文件的解码和显示
第 11 章:算法与历法
1、 格里历(公历)生成算法
     1) 格里历的历法规则
     2) 今天星期几
     3) 生成日历的算法
     4) 日历变更那点事儿
2、 二十四节气的天文学计算
     1) 二十四节气的起源
     2) 二十四节气的天文学定义
     3) VSOP-82/87 行星理论
     4) 误差修正——章动
     5) 误差修正——光行差
     6) 用牛顿迭代法计算二十四节气
3、 农历朔日(新月)的天文学计算
     1) 日月合朔的天文学定义
     2) ELP-2000/82 月球理论
     3) 误差修正——地球轨道离心率修正
     4) 误差修正——黄经摄动
     5) 月球地心视黄经和最后的修正——地球章动
     6) 用牛顿迭代法计算日月合朔
4、 农历的生成算法
     1) 中国农历的起源与历法规则
     2) 中国农历的推算
     3) 一个简单的“年历”
第 12 章:实验数据与曲线拟合
1、 曲线拟合
     1) 曲线拟合的定义
     2) 简单线性数据拟合的例子
2、 最小二乘法曲线拟合
     1) 最小二乘法原理
     2) 高斯消元法求解方程组
     3)实战: 最小二乘法解决“速度与加速度”
3、 三次样条曲线拟合
     1) 插值函数
     2) 样条函数的定义
     3) 边界条件
     4) 推导三次样条函数
     5) 追赶法求解方程组
     6) 实战:三次样条曲线拟合算法实现
     7) 实战:三次样条曲线拟合的效果
第 13 章:非线性方程与牛顿迭代法
1、 非线性方程求解的常用方法
     1) 公式法
     2) 二分逼近法
2、 牛顿迭代法的数学原理
3、用牛顿迭代法求解非线性方程
     1)导函数的求解与近似公式
     2)实战: 算法实现
第 14 章:计算几何与计算机图形学
1、 计算几何的基本算法
     1) 点与矩形的关系
     2) 点与圆的关系
     3) 矢量的基础知识
     4) 点与直线的关系
     5) 直线与直线的关系
     6) 点与多边形的关系
2、 直线生成算法
     1) 什么是光栅图形扫描转换
     2) 数值微分法
     3) Bresenham 算法
     4) 对称直线生成算法
     5) 两步算法
     6) 其他直线生成算法
3、圆生成算法
     1) 圆的八分对称性
     2) 中点画圆法
     3) 改进的中点画圆法——Bresenham 算法
     4) 正负判定画圆法
4、 椭圆生成算法
     1) 中点画椭圆法
     2) Bresenham 椭圆算法
5、 多边形区域填充算法
     1) 种子填充算法
     2) 扫描线填充算法
     3) 改进的扫描线填充算法
     4) 边界标志填充算法
第 15 章:音频频谱和均衡器与傅里叶变换算法
1、实时频谱显示的原理
2、 离散傅里叶变换
     1) 什么是傅里叶变换
     2) 傅里叶变换原理
     3)实战: 快速傅里叶变换算法的实现
3、 傅里叶变换与音频播放的实时频谱显示
     1) 频域数值的特点分析
     2) 从音频数据到功率频谱
     3) 音频播放时实时频谱显示的例子
4、 破解电话号码的小把戏
     1) 拨号音的频谱分析
     2) 根据频谱数据反推电话号码
5、 离散傅里叶逆变换
     1) 快速傅里叶逆变换的推导
     2) 实战:快速傅里叶逆变换的算法实现
6、 利用傅里叶变换实现频域均衡器
     1) 频域均衡器的实现原理
     2) 频域信号的增益与衰减
     3)实战: 均衡器的实现——仿 Foobar的 18 段均衡器
第 16 章:全局最优解与遗传算法
1、 遗传算法的原理
     1) 遗传算法的基本概念
     2) 遗传算法的处理流程
2、 遗传算法求解 0-1 背包问题
     1) 基因编码和种群初始化
     2) 适应度函数
     3) 选择算子设计与轮盘赌算法
     4) 交叉算子设计
     5) 变异算子设计
第 17 章:计算器程序与大整数计算
1、 哦,溢出了,出洋相的计算器程序
2、 大整数计算的原理
     1) 大整数加法
     2)大整数减法
     3)大整数乘法
     4)大整数除法与模
     5) 大整数乘方运算
3、 大整数类的使用
     1)与 Windows 的计算器程序一决高下
     2) 最大公约数和最小公倍数
     3) 用扩展欧几里得算法求模的逆元
第 18 章:RSA 算法——加密与签名
1、 RSA 算法的开胃菜
     1)将模幂运算转化为模乘运算
     2) 模乘运算与蒙哥马利算法
     3) 模幂算法
     4) 素数检验与米勒—拉宾算法
2、 RSA 算法原理
     1) RSA 算法的数学理论
     2)加密和解密算法
     3) RSA 算法的安全性
3、 数据块分组加密
     1) 字节流与大整数的转换
     2)PCKS 与 OAEP 加密填充模式
     3)实战: 数据加密算法实现
     4)实战: 数据解密算法实现
4、 RSA 签名与身份验证
     1) RSASSA-PKCS 与 RSASSAPSS签名填充模式
     2)实战:签名算法实现
     3)实战: 验证签名算法实现
第 19 章:数独游戏
1、数独游戏的规则与技巧
     1) 数独游戏的规则
     2) 数独游戏的常用技巧
2、 计算机求解数独问题
     1) 建立问题的数学模型
     2) 实战:算法实现
     3) 与传统穷举方法的结果对比
3、 关于数独的趣味话题
     1) 数独游戏有多少终盘
     2) 史上最难的数独游戏
第 20 章:华容道游戏
1、华容道游戏介绍
2、 自动求解的算法原理
     1) 定义棋盘的局面
     2) 算法思路
3、 自动求解的算法实现
     1) 棋局状态与 Zobrist 哈希算法
     2) 重复棋局和左右镜像的处理
     3) 正确结果的判断条件
     4) 武将棋子的移动
     5) 棋局的搜索算法
第 21 章:A*寻径算法
1、 寻径算法演示程序
2、Dijkstra 算法
     1) Dijkstra 算法原理
     2) 实战:Dijkstra 算法实现
     3) Dijkstra 算法演示程序
3、 带启发的搜索算法——A*算法
     1)A*算法原理
     2)常用的距离评估函数
     3) 实战:A*算法实现
第 22 章:俄罗斯方块游戏
1、 俄罗斯方块游戏规则
2、 俄罗斯方块游戏人工智能的算法原理
     1)影响评价结果的因素
     2)常用的俄罗斯方块游戏人工智能算法
     3) Pierre Dellacherie 评估算法
3、 Pierre Dellacherie 算法实现
     1)基本数学模型和数据结构定义
     2)实战: 算法实现
第 23 章:博弈树与棋类游戏
1、 棋类游戏的 AI
     1)博弈与博弈树
     2)极大极小值搜索算法
     3)负极大极搜索算法
     4)“ α-β”剪枝算法
     5)估值函数
     6)置换表与哈希函数
     7)开局库与终局库
2、 井字棋——最简单的博弈游戏
     1)棋盘与棋子的数学模型
     2)估值函数与估值算法
     3)如何产生走法(落子方法)
3、奥赛罗棋(黑白棋)
     1)棋盘与棋子的数学模型
     2)估值函数与估值算法
     3)实战:搜索算法实现
4、五子棋
     1)棋盘与棋子的数学模型
     2)估值函数与估值算法
     3)实战:搜索算法实现

你可能还喜欢的课程

  • 【千元钜惠】 年薪200w+的大数据架构师全程直播,传授硬核技能:①OLAP/HTAP/湖仓一体等多种架构;②借FlinkCDC/Kylin/Hudi/Doris等打造数仓;③湖仓一体化项目落地实践;④基于Flink和StreamX打造低代码大数据中台

    查看详情 QQ咨询

    大数据实战精英+架构师班

    查看详情 4个月

  • 【千元钜惠】 手握6000+节点的大数据运维大咖全程直播,4个月带你熟悉大数据集群规划、部署、监控、排错、容器化等技能,并完成3个商业项目。

    查看详情 QQ咨询

    大数据运维尖刀班

    查看详情 4个月

  • 【3重优惠】 技术大牛组团授课,专讲大数据核心知识和大型项目实战,多台物理服务器数十个节点现场直播演示!企业级实战项目让你四个月掌握2年的项目经验!

    查看详情 QQ咨询

    大数据开发工程师特训营

    查看详情 16周

  • 【优惠活动】 新东方、搜狗、腾讯等名企一线实战讲师授课,技“高”一筹!重在培养数据分析方法及思路,而不仅仅是学习技术及工具。带教多个互联网及金融领域企业真实项目,而不仅仅是讲理论和小案例。

    查看详情 QQ咨询

    数据分析特训营

    查看详情 16周

  • 本课程为大数据金融信贷项目实战课,着重讲解企业中常用的大数据技术理论与实战,如Hadoop、Hive、HBase、Sqoop、Flume、Kafka、Spark Streaming、Spark SQL、Spark Structured Streaming等。课程包含离线项目和实时项目,从项目业务需求、技术选型、架构设计、集群安装部署、集成开发以及项目可视化进行多方位实战讲解。

    查看详情 QQ咨询

    互联网金融信贷项目实战(Hadoop&Spark)

    查看详情 38小时44分钟

  • 干货多:15案例 + 3实战 + 2项目;
    提升快:滴滴出行一线架构师传授实战经验,30小时多方位讲解数据仓库构建相关理论及实战内容
    技术全:综合运用Hive/Flume/Kafka/Azkaban/Oozie/SparkSQL等技术;

    查看详情 QQ咨询

    基于大数据体系构建数据仓库

    查看详情 32小时52分钟

  • 本课程基于某电商公司运营实时分析系统(2B),对Flink进行系统讲解。通过本课程的学习,既能获得Flink企业级真实项目经验,也能深入掌握Flink的核心理论知识,还能获得Flink在生产环境中安装、部署、监控的宝贵经验,从而深入掌握Flink技术。

    查看详情 QQ咨询

    Flink电商运营项目实战

    查看详情 50小时6分钟

他们在学

  • 182****0608

  • Dear paranoia

  • 189****7178

  • FranK25413

  • 20475

  • 蜡笔

  • 135****9189

  • 一切从简

  • 186****9508

  • 向日葵22127

  • 赤少

  • 屋顶上的猫

  • 半梦半醒

  • Flower&Young

  • 呆小木

  • 哪路脱

 
QQ在线咨询
微信扫码咨询