简介
本文为博主基于课堂ppt以及自行编写的代码整理的研究生《算法设计与分析》课程笔记,涉及分治算法、动态规划算法、贪心算法、回溯算法、分支限界法。总结了各类算法的思想和基本解题思路,以及对应的经典题目,适合算法初学者入门学习。代码90%为个人编写(Python语言),如发现问题,欢迎交流指正!
由于编写时使用其他在线文档编写的,文中图片不能直接迁移,故本文提供图片版本,如果需要完整笔记文件,请见下方下载链接!
目录
算法概述
- 算法的五大特性
- 算法的描述方法
- 提高程序运行速度
递归与分治
- 棋盘覆盖问题
- 归并排序
- 循环赛日程表问题
动态规划
- 思想
- 最优性原理
- 设计步骤
- 基本要素
- 建模过程
- 动态规划的五部曲
- 多段图的最短路径问题
- 三角形顶点A到底边的最短路径
- 矩阵连乘问题
- 最长公共子序列
- 0-1背包问题
贪心算法
- 思想
- 性质
- 最优子结构
- 活动安排问题(已知活动开展时间,选择尽可能多的活动)
- 活动安排问题(已知活动截止和持续时间,自行选择尽可能多的活动,并安排起始时间)
- 背包问题(√)、0-1背包问题(×)
回溯法(深搜)
- 思想
- 算法框架
- 复杂度分析
- 八皇后问题
分支限界法
- 思想
pdf下载
后续更新!
- 图片版:下载
- 无水印版:下载
- 代码汇总:基础篇+分治算法、动态规划+贪心+回溯
全文内容