对算法问题的思考

今天浏览一个复旦牛人的博客,此君现在在facebook

复旦软院研究生,牛得不得了

博客地址为:http://blog.yxwang.me/

今天看到这篇文章,有点感触

http://blog.yxwang.me/2008/04/count-1-bits-in-an-int32/

《编程之美》一个二进制趣题的讨论

这个题之前在几本书上都看过了,包括《编程之美》,无非是几个考虑时间复杂度度的算法。和减一后的值与运算,最初在c语言之父的书上看到的

今天看到了作者的见解:

首先是对算法的衡量上,复杂度真的是唯一的标准吗?尤其对于这种数据规模给定,而且很小的情况下,复杂度其实是个比较次要的因素。

查表法的复杂度为 O(1),用解法一,循环次数不会超过 8 次,所以时间复杂度也是 O(1)。至于数据规模变大,例如变成 32 位整型,那查表法自然也不合适了。

其次,既然是一个执行时间很短的操作,衡量的尺度也必然要小,CPU 时钟周期可以作为参考单位。


顿时感觉很有道理,作者后面还列出了考虑到cache命中的算法。

牛人特别之处就是善用思考,思考出自己的东西吧,而不是只从书上吸收一些知识点

其中提到了CSAPP这书,这书我大部分都看过,也看得比较认真,但看了很久了,很多地方都记不得了,加之当时环境,很多地方没做实验,看来还要再看一遍


http://blog.csdn.net/msquare/article/details/4536388

有空看看

貌似HAKMEM是MIT的一个刊物

可以去看看维基百科

又查了点资料:

MIT计算机科学与人工智能实验室的早期文档,记录了MIT的第一代黑客的点滴。后来这本文档被进一步扩展成书:《Hacker's Delight》

http://book.douban.com/subject/1784887/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值