Guure

Winter Is Coming.

2016年11月5日

算法(第4版)-1.4.9 内存

摘要: 总结:本小节讲述了Java的内存分配机制以及各种数据结构所使用的内存量。 重点: 1. 计算机中的电路很大一部分的作用就是帮助程序保存一些值并在稍后取出它们。 2. 计算机上的Java对内存的使用经过了精心的设计(程序的每个值在每次运行时所需的内存量都是一样的),但实现了Java的设备非常多,而内存 阅读全文

posted @ 2016-11-05 23:34 Guure 阅读(397) 评论(0) 推荐(0) 编辑
算法(第4版)-1.4.8 处理对于输入的依赖

摘要: 总结:如题。 重点: 1. 处理对于输入的依赖的有效方法: · 更加小心地对我们所要解决的问题所处理的输入建模 · 对最坏情况下的性能的保证 在计算机系统中最坏情况是非常现实的忧虑,因为程序的输入可能来自另外一个(可能是恶意的)用户而非自然界。例如,没有使用提供性能保证算法的网站无法抵御拒绝服务攻击 阅读全文

posted @ 2016-11-05 21:18 Guure 阅读(349) 评论(0) 推荐(0) 编辑
算法(第4版)-1.4.7 注意事项

摘要: 总结:如题。 重点: 1. 注意事项有如下几点: · 大常数 我们要对可能的大常数项保持敏感。 · 非决定性的内循环 内循环是决定性因素的假设并不总是正确的。 · 指令时间 每条指令执行所需的时间总是相同的假设并不总是正确的。 · 系统因素 某种垃圾收集器或是JIT编译器或是正在从因特网中进行的下载 阅读全文

posted @ 2016-11-05 16:14 Guure 阅读(274) 评论(0) 推荐(0) 编辑
算法(第4版)-1.4.6 倍率试验

摘要: 总结:本小节讲述了倍率试验的实现和作用。 重点: 1. 倍率试验的实现: · 开发一个输入生成器来产生实际情况下的各种可能的输入。 · 运行程序,它能够计算每次实验和上一次的运行时间的比值。 · 反复运行知道该比值趋近于极限2^b。 这个实验对于比值没有极限的算法无效,但它仍然适用于许多程序,我们可 阅读全文

posted @ 2016-11-05 15:48 Guure 阅读(1217) 评论(0) 推荐(0) 编辑
算法(第4版)-1.4.5 设计更快的算法

摘要: 总结:本小节通过具体的例子展示了如何设计更快的算法。 重点: 1. 我们会按照以下方式解决各种新的问题: · 实现并分析该问题的一种简单的解法。我们通常将它们称为暴力算法,例如ThreeSum和TwoSum。 · 考察算法的各种改进,它们通常都能降低算法所需的运行时间的增加数量级,例如TwoSumF 阅读全文

posted @ 2016-11-05 15:01 Guure 阅读(444) 评论(0) 推荐(0) 编辑