Content
4 Lessons • 0 Quizzes • 0 Challenges
第一章:从递归到动态规划
- 1
简介
- 2
什么是递归?
- 3
递归思维
- 4
斐波那契数列
- 5
挑战:找出字符串的所有排列
- 6
解题回顾:查找字符串的所有排列
- 7
挑战:在 N×N 的国际象棋棋盘上放置 N 个皇后
- 8
解决方案回顾:在 N×N 棋盘上放置 N 个皇后
- 9
普通递归足够好吗?
- 10
动态规划是一种用于解决复杂问题的算法设计技术,它通过将问题分解为更小的子问题,并存储这些子问题的解,以避免重复计算。这种方法特别适用于具有重叠子问题和最优子结构特性的场景。动态规划的核心思想是“记住已解决的问题”,从而提高效率。它常用于优化问题,如最短路径、背包问题、最长公共子序列等。
- 11
动态规划的常用方法
- 12
动态规划的适用场景
- 13
测验
第二章:自顶向下的动态规划与记忆化
- 1
什么是记忆化?
- 2
带记忆化的斐波那契数列算法
- 3
挑战:楼梯问题
- 4
解决方案回顾:楼梯问题
- 5
挑战 2:背包问题
- 6
解决方案回顾:背包问题
- 7
测验
第三章:自底向上的动态规划与表格法
- 1
自顶向下的动态规划的局限性
- 2
什么是动态规划表(Tabulation)?
- 3
斐波那契数列算法之动态规划表
- 4
优化斐波那契数列算法
- 5
挑战:卡塔兰数
- 6
解题回顾:卡塔兰数
- 7
挑战 2:最长公共子串
- 8
解决方案回顾:最长公共子串
- 9
自顶向下 vs 自底向上
- 10
测验
第四章:练习题
- 1
挑战:表示 N 美元的方法数
- 2
解题回顾:表示 N 美元的方法数
- 3
挑战:杆切割问题
- 4
解决方案回顾:杆切割问题
- 5
挑战:加权调度问题
- 6
解决方案回顾:加权调度问题
- 7
挑战:矩阵链乘法
- 8
解决方案回顾:矩阵链乘法
- 9
挑战:旅行商问题
- 10
解决方案回顾:旅行商问题
- 11
挑战:最长公共子序列
- 12
解决方案回顾:最长公共子序列
- 13
挑战:最长回文子序列
- 14
解题回顾:最长回文子序列
- 15
挑战:编辑距离问题
- 16
解决方案回顾:编辑距离问题
- 17
结论
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User