算法导论
晚餐男孩
SLAM 打工人 天道酬勤
展开
-
《算法导论》学习笔记之一:初识算法
初识算法关于算法的定义算法在实际中的应用线性规划动态规划使用动态规划方法求解最优钢条切割问题关于算法的定义 学术地说法,算法是任何良定义的计算过程。 通俗地说法,算法是计算的方法。算法在实际中的应用 我是自动化专业出身的,实际应用较多的算法就是排序算法、数值算法、最短路径搜索算法等,擅长工程中的软件应用和嵌入式软件,对纯软件算法编程理论知识的理解并没有科班出身的童鞋那么深刻,因此对...原创 2018-11-06 17:12:33 · 346 阅读 · 0 评论 -
《算法导论》学习笔记之五:概率分析和随机算法
概率分析和随机算法概率分析随机算法概率分析 对于概率分析,特点就是:在输入上假设。随机算法 随机算法的区别就在于不是像概率分析那样假设输入的一个分布,而是设定一个分布,即随机算法会随机化输入。 举个例子吧,就是雇佣新人。...原创 2018-11-09 23:36:31 · 526 阅读 · 0 评论 -
《算法导论》学习笔记之二:算法基础
算法基础伪代码注意事项循环不变式缩进符号//多重赋值NILand和or初识算法复杂度插入排序算法的复杂度计算初识分治算法分治模式归并排序分析分治算法伪代码注意事项循环不变式 我们搞算法的人都知道,通常将算法描述为用一种伪代码书写的程序。其中比较重要的概念就是循环不变式,它的作用主要帮助我们理解算法的正确性。关于循环不变式,有三种性质: 初始化:循环的第一次迭代之前,它为真。 保持:...原创 2018-11-07 17:05:42 · 532 阅读 · 0 评论 -
《算法导论》学习笔记之三:函数增长
函数增长渐近记号Θ记号O记号$\Omega$记号o记号$\omega$记号渐近记号Θ记号 对于一个给定的函数g(n),用Θ\ThetaΘ(g(n))来表示以下函数的集合:Θ(g(n))={f(n):存在正常量c1、c2和n0,使得对所有n≥n0,有0≤c1(n)≤f(n)≤c2g(n)}\Theta(g(n))=\{ f(n):存在正常量c_{1}、c_{2}和n_{0},使得对所有n...原创 2018-11-08 11:00:41 · 201 阅读 · 0 评论 -
《算法导论》学习笔记之四:分治策略
分治策略最大子数组问题矩阵乘法的Strassen算法代入法求解递归式线性规划第4章开始就不一一写出详细的概念了,具体还是要多看书掌握基础概念,很多时候之所以不理解都是因为基础知识没学好,概念没有深入地理解和认识才导致不能理解真正的含义。最大子数组问题 大家应该都知道炒股吧(炒股的一般都经历过16年的股灾吧?如果你炒股没亏钱,那么你可以忽略我文章了继续炒股去吧)?简单地描述问题:我们怎样确定...原创 2018-11-08 16:41:47 · 294 阅读 · 0 评论