Re: [问题] C语言题目请益

楼主: cyBochu (Fathome)   2018-09-12 20:47:46
※ 引述《SocketAM2 (AM2)》之铭言:
: 1. leftBound只是常数,且每次回圈都用在判断,这可以改善
: 2. inner loop中的image[yi+c][b_next]
: 2.1 b_next未宣告
: 2.2 c的值没有保护跨界提取
: 3. score > 200的条件可以提到最前面检查一次就好(甚至caller自己该处理),这个200和leftBound的2都可以#define constant
: 4. outer loop中第一个if成立的话,如果条件不符合可以直接break出去接return False,因为下一个b一定是break
: 以上能“优化”的效果很可能难易被人察觉或造成有意义的差别...
: 你要不要说下想做什么
: 考虑到上面第二点,我猜实际的问题可能不是优化
: 程式的正确性也许需要先确认一下
: 例如byte * * image就不太像典型的存放影像pixel值的方式
: 另外,如果你要算的图是拍来的要更小心...
: 小的是低手,请高手尽量鞭
作者: Schottky (顺风相送)   2018-09-13 00:05:00
问题是你没代没事为何要优化有遇到内存不足或执行速度过慢的障碍吗?
作者: cphe (魔鬼藏在垃圾筒里)   2018-09-13 02:32:00
作业楼上不用太认真
作者: Schottky (顺风相送)   2018-09-13 07:34:00
楼上,我倒觉得应该没人会出这么蠢的作业...我也觉得1.应该先探讨正确性2.讲解一下这段程式的目的再仔细看看,整个程式错得很离谱,永远不会return TRUE那我建议最快的方法是不要做任何运算直接return FALSE我真是太聪明了
作者: cphe (魔鬼藏在垃圾筒里)   2018-09-13 08:39:00
其实贴个程式码连自己想法什么都没交代我就当成是作业啦要不要理当然看个人了
作者: sarafciel (Cattuz)   2018-09-13 09:02:00
http://mis.ndhu.edu.tw/docu/question.htm比起学程式码 我建议你先学会发问
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-09-13 11:15:00
Smells like homework.
作者: dmeiki (熊麻吉)   2018-09-13 11:18:00
1. Loop Unrolling 2. Improve temporal locality

Links booklink

Contact Us: admin [ a t ] ucptt.com