《算法分析与设计》学习心得

在学习了《算法分析与设计》这门课后,我对常见的算法有了一个基本的了解。本书主要从算法概述、递归与分治策略、动态规划、贪心算法、回溯法、分支限界法、随机化算法、线性规划与网络流、NP完全性理论与近似算法等九个章节对计算机算法进行了介绍,我也将从以下几个方面对算法进行简单概括。

第一章--算法概述,主要介绍了算法和程序的定义及组成,以及评价算法优劣的标准--时间复杂度T(n)=O(f(n))和空间复杂度S(n)。

第二章--递归与分治策略。本章主要讲述了递归和分治(将问题拆分为k个规模较小的子问题,子问题可能会多次计算【递归是实现分治的一种手段】)的思想,以及涉及到递归与分治策略的二分搜索(折半大问题拆小)、大整数的乘法【分治成小数相乘再相加】、归并排序【有序子序列一分为二再合并】、快速排序【分为两个,小的在前大的在后,两个序列分别排序】以及循环赛日程表【递归往n阶填数,使得每个都与n-1个比赛过】问题。
第三章--动态规划。本章主要讲述了动态规划(求解决策问题最优化,问题分解,但子问题无需重复计算)的思想,以及动态规划算法的基本要素、最长公共子序列【KMP】、流水作业调度【多作业调度完工时间最少】、0-1背包问题【满足容量价值最高】、最优二叉搜索树【哈夫曼树,带权路径长度最短】等一系列问题。

第四章--贪心算法。本章主要讲述了贪心算法的基本思想(选择当前最优,获得局部最优解),以及贪心算法中的用到的哈夫曼编码【每次选最小的作为叶子节点组成一棵树生成新节点】、单源最短路径(Dijsktra算法)【每轮都找路径最短的点加入路径集合】、最小生成树【每次代价最小,加边/加点】问题等。

第五章--回溯法。本章主要讲述了回溯法的基本思想(问题转化为图或树,利用深度优先搜索DFS的方式寻找可行解),以及回溯法中常见的n皇后问题【n个放到n阶矩阵上,不同行不同列】、0-1背包问题、图的m着色问题【m种颜色才能使图中每条边连接的2个顶点着不同颜色】、旅行售货员问题【从i到i经过所有点路程最短(求哈密顿圈经过所有点再优化)】、批处理作业调度问题【作业完成时间和最小】、连续邮资问题【不同面值贴出连续邮资】等一系列问题。
第六章--分支限界法。本章主要讲述了分支限界法的基本思想(问题转化为通过队列或优先队列进行广度优先或以最小耗费扩展结点,实现对问题的求解),以及分支限界法中常见的单源最短路径问题、装载问题【n个不同重量的集装箱装入两艘船】、布线问题、0-1背包问题、旅行售货员问题、批处理作业调度问题等一系列相关问题。

第七章--随机化算法。本章主要讲述了随机化算法的基本思想(通过随机函数,使得决策问题的结果依赖于某种随机事件),以及随机化算法中常见的数值随机化求解定积分/求圆周率、拉斯维加斯算法求解整数因子分解和n皇后问题、蒙特卡洛算法计算素数等一系列问题。
第八章--线性规划与网络流。本章主要讲述了线性规划与网络流的基本思想(求解线性约束条件下线性目标函数的极值问题,以及网络上的最优化问题),以及线性规划与网络流算法中常见的单纯形算法【在最优解区间找一点,不符合再找近邻点】、最小费用与最大流【A到B流量最大费用最少】算法。
第九章--NP完全性理论与近似算法。本章主要讲述了NP完全性理论与近似算法的基本思想(非确定性多项式时间可解的判定问题通过近似方式进行求解),以及NP完全性理论与近似算法中常见的计算模型/图灵机、NP完全问题及其近似算法。

《算法分析与设计》主要通过对上述算法的介绍,让我对常见的算法有了基本了解,这对以后问题求解有很大的帮助。以上便是我对《算法分析与设计》这门课的学习心得。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值