Java 中的递归、回溯和动态规划
竞技编程常见面试问题(递归、回溯和分治算法)
讲师:Holczer Balazs
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 理解递归方法
- 了解回溯
- 理解动态规划
- 理解分而治之的方法
- 从零开始实现 15 个以上的算法问题
- 提高解决问题的能力并成为更强大的开发人员
探索相关主题
- 算法
- 动态规划
- 其他 IT 和软件
- 信息技术与软件
要求
- Java 基础
描述
本课程是关于算法问题的基本概念,重点关注递归、回溯、动态规划和分而治之方法。在我看来,这些技术在当今非常重要,算法可用于(并有多种应用)从软件工程到投资银行或研发的多个领域。
第 1 节 – 递归
- 什么是递归和递归方法
- 栈内存和堆内存概述
- 什么是堆栈溢出?
- 斐波那契数
- 阶乘函数
- 汉诺塔问题
第 2 部分 – 搜索算法
- 线性搜索方法
- 二分查找算法
第 3 节 – 选择算法
- 什么是选择算法?
- 如何在 O(N) 线性运行时间中找到 k 阶统计量?
- 快速选择算法
- 中位数算法
- 秘书问题
第 4 部分 – 位操作问题
- 二进制数
- 逻辑运算符和移位运算符
- 检查偶数和奇数
- 位长度问题
- 俄国农民繁衍
第 5 节 – 回溯
- 什么是回溯?
- n 皇后问题
- 哈密顿循环问题
- 着色问题
- 骑士巡游问题
- 数独游戏
第 6 节 – 动态规划
- 什么是动态规划?
- 背包问题
- 杆切割问题
- 子集和问题
- Kadan算法(最大子数组)
- 最长公共子序列 (LCS) 问题
第 7 节 – 最佳包装
- 什么是最佳包装?
- 装箱问题
第 8 节 – 分而治之的方法
- 什么是分而治之的方法?
- 动态规划和分治法
- 如何使用合并排序实现O(NlogN)排序?
- 最近点对问题
第 9 部分 – 常见面试问题
- 热门面试问题(谷歌、Facebook 和亚马逊)
- 字谜问题
- 回文问题
- 雨水滞留问题
- 鸡蛋掉落问题
- 荷兰国旗问题
在每个部分中,我们将讨论所有这些算法的理论背景,然后我们将用 Java 从头开始实现这些问题。
最后, 您可以了解最常见的面试问题(谷歌、微软、亚马逊等)
感谢您参加课程,让我们开始吧!
本课程适合哪些人:
- 本课程适用于不熟悉算法问题的新手或希望复习算法问题的学生
- 任何准备编程面试或有兴趣提高解决问题能力的人
显示更多显示较少
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。