成语大全网 - 汉语词典 - JAVA中的查找算法如何实现... 高手帮帮忙

JAVA中的查找算法如何实现... 高手帮帮忙

这个。。。我随便乱说几句啊,说的不对别见笑。

有一个数组 当中存有一些字符串

另外有一个字典文件 我也将它导入一个数组 有50000多个单词

然后要找出字符串中包含的单词

由你给的条件可知:

1。数组 应该是从前到后依次顺序扫描字符串。

2。50000多个单词的字典文件一定优化。具体优化要看具体内容吧。

比如你可以按单词的首字母排序,然后分组。等扫描字符串的时候可以分组比较。但这种方法应该没省多少时间。

你还可以把50000多个单词的字典文件按单词的长度进行分组。比如1个字母的分成一组,二个字母的分成一组。。。。N个字母的分成一组,这样就分成了N组。然后扫描字符串的时候你可以按后续匹配(好象叫这个算法吧,名字记不清了)算法,这样就可以省很多时间了。

你还可以这样做,因为你要查的是单词,单词一定有意义。那你可以直接把你的字符串数组先进行语法、语义分析并分割,然后再去匹配你的字典。这样应该是最快的。但这要用到自然语言处理。。。