2、编程珠玑笔记二算法
来源:互联网 发布:软件开发的生命周期 编辑:程序博客网 时间:2024/06/06 16:49
2、编程珠玑笔记二算法
本篇名言:“真实与朴实是天才的宝贵品质。 --斯坦尼斯拉夫斯基”
我一直认为程序员花再多时间在数据结构和算法上都不为过,这也是当码农升华为码神的关键。
算法对软件系统影响非常巨大,蛤蟆工作很多时候是进行性能调优工作对此深有体会,一个稍微少一点的算法在高并发压力的时候表现出来的性能就会非常明显了。
第二章,作者给我们带来了三个问题以及问题背后的思考。蛤蟆简单汇总并尽量简单描述之。
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48419893
1. 问题一
如下图1所示:
这个问题作者引入一个被程序员用烂的算法,就是二分法。不管生活还是工作,二分法估计是居家旅行必备神器。
2. 问题二
这个问题有很多解法了,但是最巧秒的莫过于作者左右的方案了。该方案也是Ken Thompson用来实现文本编辑器中行移动的。(Ken Thompson是C语言和UNIX之父)
首先将问题看成数组ab装换为ba.
先对a求逆得到arb,然后对b求逆,得到arbr,最后对arbr求逆就得到ba了,翻转代码在时间和空间上都是很搞笑的,所示大师都用的。
3. 问题三
任何一种考虑单词中给所有字母的排列方法都注定要失败的。
作者的办法是将单词中的字母按照字母表顺序排序,如deposit的标识就是deiopst,
同理单词dopiest的标识也是deiopst.
然后见给所有单词按照标识进行顺序排序。
要找某个单词,主要获得该标识,然后在顺序表中查找即可。
4. 小结:
本章主要是强调基本操作使得问题简单化。
需要不断解决问题和反思。
- 2、编程珠玑笔记二算法
- 编程珠玑笔记2
- 编程珠玑--旋转算法
- 编程珠玑 ~~ 啊哈! 算法
- 扫描算法 编程珠玑
- 编程珠玑--啊哈!算法
- 编程珠玑(2)第六章笔记
- 《编程珠玑》笔记
- 《编程珠玑》笔记
- 编程珠玑笔记
- 编程珠玑学习笔记
- 《编程珠玑》第一章笔记
- 读《编程珠玑》笔记
- 编程珠玑笔记--排序
- 编程珠玑笔记~~开篇
- 编程珠玑 笔记
- 编程珠玑笔记第一章
- 《编程珠玑》第一章笔记
- Git学习之基础<2>
- 二叉树的序列化与还原
- aa
- jQuery-案例:试验品牌展示
- WebSocket connection to,Error during WebSocket handshake: Unexpected response code: 404
- 2、编程珠玑笔记二算法
- 安卓编写简单的计算器
- 拦截器的应用
- Wiki_Android_dp和px之间的转换
- Android应用的安全开发
- 3中文件读取方式
- java中使用字节流的方式复制文件
- 3、编程珠玑笔记三数据决定程序结构
- javaIO流(2):文件字节输入流