随笔分类 -  programming peals

所见,所闻,所感
粗略估算的能力
摘要:粗略估算,本以为是靠直观感觉的猜测,实则非然也。记得在初高中的时候经常干这种凭感觉猜测的事来,现在却突然发现自己的这个爱好渐渐的被磨掉了,现在的大脑空空如也,可惜了……好了,闲话不多说了,继续正题:估算。看了珠玑第七章的估算内容部分后感觉这部分写的真不错啊。尤其是那个72法则和Little定律,堪称一绝啊,以后摸不准会用的呢。72法则:假设一年利率r%投资一笔钱y年,金融资本的“72法则”指出,如果r*y=72,那么你的投资差不多会翻倍。近似很精确啊:以6%的年利率投资1000美元12年,可得到2012美元,以8%的年利率投资1000美元9年,可得到1999美元。很近似吧。假设一个指数程序的解 阅读全文
posted @ 2011-04-12 18:08 kevinferry 阅读(291) 评论(0) 推荐(0)
很好很强大的堆排序
摘要:堆排序的勇猛之处 阅读全文
posted @ 2011-03-26 15:31 kevinferry 阅读(2357) 评论(2) 推荐(0)
位图排序
摘要:先说些题外话吧,本来以为blogbus修护好了,上去之后依然是错误,系统错误。靠,晕死了。既然如此,我只能弃之了,改日把东西搬过来。进入正题:位图排序。说实话,说到排序,我们首先想到的肯定是那些常见的排序,比如:冒泡啊,插排,选择啊,快排,甚至归并、基数排序等。这个位图排序似乎没听过啊。是的,是比较新鲜,但也很novel的一个算法。我最初见它于《编程珠玑》13章。当时只知道有个位图排序,但是具体的原理内幕,搞不懂啊。于是我查了一下详情,果然找到了一些。看我一一道来:首先,相比以上的排序方法,位图排序明显的优点就是空时双赢啊(时间和空间)。该算法100w的非负整数只需0.125M内存,而时间复杂 阅读全文
posted @ 2011-03-24 22:40 kevinferry 阅读(457) 评论(1) 推荐(0)
编程珠玑NO2
摘要:第二章中主要提到了排序、二分搜索、和标识位首先有三个例子:第一个是在一个顺序文件中存放了很多个32位的整数,要求你求出其中缺少的那个整数。如果内存够大时又该怎么求? 那么尽可能地利用二分搜索,在搜索区间找到该位置第二个题目是一个字符串在第i位发生了旋转比如:abcdefgh在第3位旋转后:defghabc这个怎么处理?那就用到一招:ab的反转是ba=(a^r b^r)^r 其中r代表反转第三个问题是说有一些变位词比如 pots stop tops等,如何在比如字典里找到这些变位词呢?那就用到标识了,就是每个单词对应一个标识,这个标识就是这个单词的字母排序的结果。比如以上三个的标识都是:opst 阅读全文
posted @ 2011-03-23 17:32 kevinferry 阅读(174) 评论(0) 推荐(0)
编程珠玑
摘要:感觉有必要说一下这个编程珠玑了,这本书被n个人推荐过,但是还是有n^3个计算机同学不知道它的存在。这是本短小精悍的书籍,有必要推荐给大家。今天看第八章的时候(算法的设计艺术),哇,牛人太多了,还是我太笨了。废话少说:我在读起原理的时候看到两个很经典的总结:扫描算法:与数组相关的问题经常可以通过思考“如何将x[0..i-1]的解扩展为x[0..i]?累积:使用一个累积表,表中的第i个元素的值为x中的前i个元素的和;此法可以解决有限问题。比如:业务要统计3月到10月的销售额,可以将10月的额份减去2月份的额份即是结果了。此法很牛逼啊。在一批个数为n的数据中,选出一批子向量,使其数据和最大。这个问题 阅读全文
posted @ 2011-03-09 22:26 kevinferry 阅读(357) 评论(0) 推荐(0)