免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: CU管理员_2
打印 上一主题 下一主题

代码之美Beautiful Code(中文版)9.22日发布!CU网友参与有奖! [复制链接]

论坛徽章:
0
141 [报告]
发表于 2008-10-18 15:24 |只看该作者
文中以Ruby和Java的Hello World比较,在Ruby中打印Hello World print "Hello World\n" 换成java先要定义一个类,在main方法中调用System.out对象的println方法打印: class Sample{ public static void main(String []args){ System.out.println("Hello World"); } }
为什么java要定义一个类,要static、args,只是打印一个字符串,可语言硬塞给了我太多的概念:类、方法、入口、参数。这些额外的东西牵扯了太多的注意力,而往往却忘记了初衷是什么。

论坛徽章:
0
142 [报告]
发表于 2008-10-18 17:58 |只看该作者
应该不错把

论坛徽章:
0
143 [报告]
发表于 2008-10-19 21:51 |只看该作者

字字珠玑!

1、int mid = low + ((high - low) / 2);

2、int mid = (low + high) >>> 1;

哈哈,第一次考虑溢出和效率这个东西,二分以前就是觉得可以就行,其实个人认为,1的条件成立的话,2不可取,因为,1的条件,是考虑越界,2和原始的给出没有多大区别,毕竟在非常多的数据条件下,二分的查找的算法复杂度也就是log(n),即便是达到溢出的个数,也就是2的32次方,log(pow(2, 32)),也不大,实际影响不大。
当然效率的优化也是很必要的,比如嵌入式系统,很讲究效率。
个人认为,第一种算法的改进,确实是神来之笔!

论坛徽章:
0
144 [报告]
发表于 2008-10-19 23:36 |只看该作者
好书,要找机会读一下。

论坛徽章:
0
145 [报告]
发表于 2008-10-20 12:02 |只看该作者
这个贴子的宣传图片非常有创意,不错。

论坛徽章:
0
146 [报告]
发表于 2008-10-20 15:11 |只看该作者
原帖由 ztz0223 于 2008-10-19 21:51 发表
1、int mid = low + ((high - low) / 2);

2、int mid = (low + high) >>> 1;

哈哈,第一次考虑溢出和效率这个东西,二分以前就是觉得可以就行,其实个人认为,1的条件成立的话,2不可取,因为,1的条件, ...



昨天跟朋友谈到了一个问题,如果在这个里面:
int mid = low + ((high - low) / 2);
如果high为pow(2,32)-1,而low是-pow(2,32),相减的话也会溢出啊?
真的有点一瞬间的迷失,对啊,也会溢出啊?哈哈,回神过来,哦,这个是不可能的,因为:low和high是相当于数组的索引,不会是负的!
确实不错的做法呵呵

论坛徽章:
0
147 [报告]
发表于 2008-10-21 11:20 |只看该作者
不知道看的懂吗,先看看再说

论坛徽章:
0
148 [报告]
发表于 2008-10-21 15:25 |只看该作者
我只想要这本书!!

呵呵。。

论坛徽章:
0
149 [报告]
发表于 2008-10-22 15:28 |只看该作者
还以为电子书放出了也:wink:

论坛徽章:
0
150 [报告]
发表于 2008-10-22 22:30 |只看该作者
喜欢,盼望能看到芳容!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP