首页
社区
课程
招聘
程序的速度问题!
发表于: 2004-7-9 10:31 4805

程序的速度问题!

RoBa 活跃值
16
2004-7-9 10:31
4805
最近在学VC,想把黑白棋游戏用C改写一下,因为算法要多次的递归求优解,一点小小的速度上差异多次累加,影响就十分的大.我想问在相同的算法下,怎样的代码才能速度更快?

1.是不是应该少用函数?编译时函数都是的CALL形式吧,又要PUSH,POP半天?
2.二维数组是不是慢于一维数组?
3....还没想好

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (7)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
2
可以考虑把递归该成非递归,看看数据结构的书,上面有介绍
2004-7-9 11:17
0
雪    币: 231
活跃值: (115)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
1、用inline
2、改成非递归很麻烦,我写过黑白棋游戏的。
3、二维数组和一维数组的效率没有比较过,无法提出建议。
2004-7-9 11:34
0
雪    币: 302
活跃值: (410)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
4
楼上的说得不错,使用内联编译,会大大提高速度。
2004-7-9 11:58
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
5
OK. 我试试.
2004-7-9 12:23
0
雪    币: 250
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zdd
6
最初由 风云剑 发布
1、用inline

究竟内联不内联是由编译器决定的,一般代码代码超过5,6行编译器是不会设置为内联函数的,还是考虑非递归吧
2004-7-9 14:28
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
7
不用递归我不会呀,计算机竞赛的时候我也自己学过这个,用动态规划?最容易理解的递归现在都快把我搞死了.现在的速度计算四步棋在人可以忍受的限度之内,虽然我远远不是它的对手了,但.....
2004-7-9 21:35
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
8
还得递归,用了剪枝搜索,在20秒之内可以计算六步棋了.
各位大大有什么好主意.我想不出更好的算法.
2004-7-10 23:00
0
游客
登录 | 注册 方可回帖
返回
//