游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2016|回复: 3

算法问题:搜索数组中子数组最高效的方法是什么?

[复制链接]

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2006-1-12 17:25:00 | 显示全部楼层 |阅读模式
例如:
dim B1() as byte = {1,2,3,4,5,6}
dim B2() as byte = {2,3,4}

现在要判断B2是否与B1相等或被包含在B1中。

当然,用For循环就不用说了(现在我也只会这个),但在大量运算(如字典搜索)时效率显然比较低,可我又想不出别的办法。
VB.Net的Array虽然存在BinarySearch、IndexOf等方法,但试了一下,好象当B2为一个数组时是不行的。

无论是用VB还是VB.Net,哪怕是用指针(这可以模拟出来),只要是比用多重For循环逐字节判定更高效的办法就请指教一二。

1

主题

50

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2006-1-12 17:30:00 | 显示全部楼层

Re:算法问题:搜索数组中子数组最高效的方法是什么?

Moore及其派生算法,google一下。

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
 楼主| 发表于 2006-1-13 10:10:00 | 显示全部楼层

Re:算法问题:搜索数组中子数组最高效的方法是什么?

哈哈,我真是孤陋寡闻,查了一下才发现,原来这个小问题牵扯的竟是模式匹配这样一个大课题,那么多种算法还真很有的研究!

原来只是悟出当年大学里所学的四十多门课大多数毫无用处,如今终于逐渐知道其中有限的几门有用课程究竟是谁了。

谢谢gnw。

7

主题

229

帖子

247

积分

中级会员

Rank: 3Rank: 3

积分
247
QQ
发表于 2006-1-13 16:39:00 | 显示全部楼层

Re:算法问题:搜索数组中子数组最高效的方法是什么?

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

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 05:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表