文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>编程珠玑阅读笔记之算法小伎俩

编程珠玑阅读笔记之算法小伎俩

时间:2010-11-01  来源:小培

判断n为偶数,一般的方法: bFlag = (n%2==0);
改进方法:                bFlag = (n&1==0);
改进原理: 偶数的二进制表示中,最后一位肯定是0,所以采用和1相与的为0的方式来判断偶数。
改进点:   位运算比除法运算要快很多。


算法设计小伎俩2:无序无符号数据的二分法,其中一部分中的任何一个数据要比另一部分的数据要大。

一般方法: 遍历一边,找出一个中位数,然后在遍历一边,以中位数为标杆进行分割。
改进方法: 只遍历一边,以遍历的数据的最高位为标杆进行分割,最高位为1的,进入大组,最高位为0的进入小组。
改进点:   虽然这种二分法在准确性上不如一般方法,但是运行效率非常高。在大数据量运算中,能够大幅度提高计算效率。



算法设计小伎俩3:对于不重复无符号数据进行一边遍历排序,并且利用尽可能小的内存空间。
改进方法: 1. 利用位去表示一个数据,各个位的顺序表示数据的排序位置。
           2.利用数据的实际值来定位表示位的位置,设置相应位。
           3.操作都使用位操作。

见编程珠玑第一章的实际问题。

相关阅读 更多 +
排行榜 更多 +
西安交大通

西安交大通

生活实用 下载
长江云通

长江云通

生活实用 下载
translatez

translatez

生活实用 下载