摘要: 读书笔记 本小节并没有讲太多东西,但是最后一句话有一些意义; 一般而言,当概率分布实在算法的输入上时,我们讨论的是平均情况运行时间;当算法本身做出随机选择时,我们讨论其期望时间。 课后习题 5.1-1 证明:假设在过程HIRE-ASSISTANT的第4行中,我们总能决定哪一个应聘者最佳,则意味着我们 阅读全文
posted @ 2021-01-15 10:19 ijkzen 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 使用主方法,往往能够更加简便地求解递归式; \[ T(n) = aT(n/b) + f(n) \] 上述递归式表示,将原来规模为$n$的问题分解为$a$个子问题,每个子问题的规模为$n/b$,其中$a$和$b$都是正常数。$a$个子问题递归地进行求解,每个花费时间为$T(n/b)$。函数$ 阅读全文
posted @ 2021-01-15 10:18 ijkzen 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本章主要讲解了使用递归树方法求解递归式; 在递归树中,每个节点表示一个单一子问题的代价,子问题对应某次递归函数调用。我们将树中每层中的代价求和,得到每层代价,然后将所有曾的代价求和,得到所有层次的递归调用的总代价。 递归树适合用来生成好的猜测,然后可用代入法来验证猜测是否正确,但是在某种程 阅读全文
posted @ 2021-01-14 18:27 ijkzen 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 代入法求解递归式分为两步: 猜测解的形式。 用数学归纳法求出解中的常数,并证明解是正确的。 但是并不存在通用的方法来猜测递归式的正确解,但是也是有一些技巧的: 使用递归树辅助猜测 先猜测一个较为宽松的上界和下界,然后缩小范围 课后习题 证明:$T(n) = T(n-1)+n$的解为$O(n 阅读全文
posted @ 2021-01-14 18:25 ijkzen 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 本章主要讲述了用于矩阵乘法的Strassen算法; 首先使用暴力算法给出了矩阵乘法的一个解,由于使用了三重循环,所以时间复杂度为$\theta(n^3)$; 然后使用分治法给出一个解,但是时间复杂度并没有优于暴力算法,仍然是$\theta(n^3)$; 最后引出了Strassen算法,能在 阅读全文
posted @ 2021-01-14 18:23 ijkzen 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 学习笔记 本章给出一张未来17天的股价涨跌折线图,要求获得最大收益; 将相邻的价格相减,把问题转化为求解最大子数组问题,其输入是一个数值数组,算法需要确定具有最大和的连续子数组; 分解 将数组分为左右两块 解决 最大子数组的产生一共有三种基本情况: 左子数组(向下递归) 右子数组(向下递归) 包含左 阅读全文
posted @ 2021-01-14 18:19 ijkzen 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 读书笔记 这一章节主要是回顾了一些关于数学的内容,下面是其中的重要内容。 多重函数 我们使用记号$f^{(i)}(n)$来表示函数$f(n)$重复$i$次作用于一个初值$n$上。形式化地,假设$f(n)$为实数集上的一个函数。对非负整数$i$,我们递归地定义 \[ f^{(i)}(n)= \begi 阅读全文
posted @ 2021-01-14 18:15 ijkzen 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 转载自 https://www.zybuluo.com/codeep/note/163962 一、公式使用参考 1.如何插入公式 \(\LaTeX\) 的数学公式有两种:行中公式和独立公式。行中公式放在文中与其它文字混编,独立公式单独成行。 行中公式可以用如下方法表示: $ 数学公式 $ 独立公式可 阅读全文
posted @ 2021-01-14 18:08 ijkzen 阅读(267) 评论(0) 推荐(1) 编辑
摘要: 读书笔记 渐近记号用来刻画算法的运行时间,但是想要综合性的覆盖所有的输入,需要不同的渐近记号; $\theta$记号,确定一个算法的渐近上界和渐近下界,具体定义如下: \(\theta(g(n))\)= {\(f(n)\): 存在正常量$c_1$和$c_2$和$n_0$,使得对所有的$n\geq$, 阅读全文
posted @ 2021-01-14 18:04 ijkzen 阅读(287) 评论(0) 推荐(0) 编辑
摘要: (在归并排序中对小数组采用插入排序) 虽然归并排序的最坏情况运行时间为$\theta(n\lg)\(,而插入排序的最坏情况的运行时间为\)\theta(n^2)$,但插入排序中的常量因子可能是的它在$n$较小时,在大多数机器上运行得较快;因此,在归并排序中,当子问题的规模足够小时,采用插入排序的方法 阅读全文
posted @ 2021-01-14 18:01 ijkzen 阅读(293) 评论(0) 推荐(0) 编辑