VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: 八戒2

擂台第69期[混乱的顶点]

  [复制链接]
发表于 2011-3-2 21:41:01 | 显示全部楼层
我也觉得是换页的关系,另外我搞错了,一个节点是24字节,不是48字节,分别有L,R,U,D,C指针,还有个UserData……然后我看看还有什么东西可以继续优化的……

PS:现在你那个程序100ms就出来了?
回复 支持 反对

使用道具 举报

发表于 2011-3-3 08:36:23 | 显示全部楼层
回复 acme_pjz 的帖子

你真的看错了
我说时间700+MS
然后改成2^K会差100MS
就是说用2^K会增加时间到900-MS
很悲剧吧
我都想把自过程内嵌来提速了...不过这样可读性就差了...
回复 支持 反对

使用道具 举报

发表于 2011-3-3 10:42:31 | 显示全部楼层
本帖最后由 仙剑魔 于 2011-3-3 10:45 编辑

  1.     Private Type Node
  2.         Up      As Long
  3.         Down    As Long
  4.         Left    As Long
  5.         Right   As Long
  6.         'Row     As Long
  7.         'Column  As Long
  8.     End Type
复制代码

    我本来想这样的,写着发现没必要就把RC注释了...

回复 支持 反对

使用道具 举报

发表于 2011-3-3 11:53:03 | 显示全部楼层
回复 仙剑魔 的帖子

我那个从24字节升级到32字节,速度会慢20%……降到16字节的话速度貌似没有大变化,可能是代码没有改造成的……
回复 支持 反对

使用道具 举报

发表于 2011-3-4 14:03:41 | 显示全部楼层
怪了,我把VB的代码翻译成C++,结果变成5S才出结果
回复 支持 反对

使用道具 举报

发表于 2011-3-4 17:11:56 | 显示全部楼层
回复 仙剑魔 的帖子

C++应该直接用指针才对(Node *l,*r,*u,*d,*c;),我这里自己写了个C++版本的,速度应该比VB的快还对,不过现在没有测试过……
回复 支持 反对

使用道具 举报

发表于 2011-3-6 23:33:16 | 显示全部楼层
acme_pjz 发表于 2011-2-25 16:47
又升级了一下,修正了有解的必要条件,把原来无解的那三个例子都瞬间判定出来了……



平均每个解用时 233秒/16384 = 14.2mS

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2011-3-6 23:46:11 | 显示全部楼层
增加几个 无解不出错 的例子。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

无解不出错很正常,因为我那个判定只是有解的必要条件,不是充分条件……  发表于 2011-3-7 10:51
回复 支持 反对

使用道具 举报

发表于 2011-3-7 09:16:39 | 显示全部楼层
本帖最后由 仙剑魔 于 2011-3-7 10:23 编辑

回复 acme_pjz 的帖子

额,之前貌似是stl里的stack吸速度的关系
换静态数组的话
release下500MS

另外C++当然用指针啦,用下标多猥琐...
回复 支持 反对

使用道具 举报

发表于 2011-3-7 10:55:15 | 显示全部楼层
回复 Igawk 的帖子

我这里测试最变态那个例子速度稍微快一点,可能和CPU速度和缓存大小有关……



另外在解决规模比较大的问题的时候速度确实慢了不少……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-1 01:02

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表