|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 二分法查找,进来帮帮我吧
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3051
人关注过本帖,
1
人收藏
标题:
二分法查找,进来帮帮我吧
只看楼主
加入收藏
蚕头燕尾
来 自:Gryffindo
等 级:
贵宾
威 望:
12
帖 子:734
专家分:1546
注 册:2013-3-24
第
51
楼
收藏
得分:0
回复 47楼 beyondyf
另外对你的代码说两句,说的不合适你尽管批评就好:
第一段容错性太差,如输入的len是负数,因为C本来对数组的越界就不作检查,所以,你的代码如果len输入的是负数,会出现返回值为负数的情况,而非给出报错(或者返回0
值)。这一点上第二段做的要好一些。
学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。
Black Cat Hello Tomorrow~
2013-08-09 00:19
举报帖子
使用道具
赠送鲜花
peach5460
来 自:武汉
等 级:
贵宾
威 望:
30
帖 子:2780
专家分:6060
注 册:2008-1-28
第
52
楼
收藏
得分:0
回复 47楼 beyondyf
额...
我只是大致瞟了一眼思路...跟我预想的差不多...
没仔细看代码...
有BUG么?
我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-09 06:09
举报帖子
使用道具
赠送鲜花
czz5242199
等 级:
小飞侠
威 望:
4
帖 子:660
专家分:2400
注 册:2011-10-26
第
53
楼
收藏
得分:0
最近准备考研论坛也上的不多了,进来就看到这个帖子
杨大哥说的bug应该是第二段循环中,最后答案用的是b-f,说明b是第一个大于e的数的下标,f是第一个等于e的数的下标,由此分析,如果在这串数中e是最大的话,b最终会由于小1使得输出比标准答案小1,改的话应该是
for
(f = a, b = len -
1
; a < b; set[t = a + b >>
1
] <= e ? (a = t) : (b = t -
1
));
输出改为b-f+1
2013-08-09 11:30
举报帖子
使用道具
赠送鲜花
beyondyf
等 级:
贵宾
威 望:
103
帖 子:3282
专家分:12654
注 册:2008-1-21
第
54
楼
收藏
得分:0
小曹慧眼
这个问题也是我再次浏览贴子时发现的。这仍然是思维惯性造成的错误。
不过小曹的改法仍然存在问题,正确的改法是将两个循环的初始化部分中的 b = len - 1 都改成 b = len。
至于燕尾小妹,你还有很长的路要走。那段递归代码的效率也非常高,甚至很多情况下优于我的非递归代码,你还没看懂那段代码。而冗错一说更是外行话。参数的正确性应该在调用这个函数前检查,而不是在这个函数里。放在函数里是一种非常低效的做法。
重剑无锋,大巧不工
2013-08-09 12:20
举报帖子
使用道具
赠送鲜花
蚕头燕尾
来 自:Gryffindo
等 级:
贵宾
威 望:
12
帖 子:734
专家分:1546
注 册:2013-3-24
第
55
楼
收藏
得分:0
嗯,虽然被批判的遍体鳞伤,但是着实长了不少见识~
我接触C语言也将近一年时间了,看来要学的东西确实还有不少呢~
对b版主的话我只想说:批评的好!,谢啦。
学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。
Black Cat Hello Tomorrow~
2013-08-09 13:19
举报帖子
使用道具
赠送鲜花
木朵夕年
等 级:
新手上路
帖 子:25
专家分:8
注 册:2013-6-14
第
56
楼
收藏
得分:0
回复 47楼 beyondyf
对你的肯定是不言而喻的啊,你还缺分吗?!你们讨论好激烈,我都插不上话,所以默默的就结了。只能说都比我强,谢谢,真长见识了
2013-08-09 16:59
举报帖子
使用道具
赠送鲜花
木朵夕年
等 级:
新手上路
帖 子:25
专家分:8
注 册:2013-6-14
第
57
楼
收藏
得分:0
回复 47楼 beyondyf
放在哪个帖子上无所谓,看帖子的时候,我只看帖,看代码,给分的时候,我就只看人了!
2013-08-09 17:03
举报帖子
使用道具
赠送鲜花
57
6/6页
1
2
3
4
5
6
快速回复:
二分法查找,进来帮帮我吧
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.048341 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved