BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #37934同步于 2010/4/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

支持通配符的英文字典

coolwc
2010/4/5镜像同步4 回复
====================== 功能 ====================== 根据模式字符串找出所有符合的英文单词(当然不仅限英文单词,跟构建词典时用的数据有关) 例如 a*b a*b : ->abomb ->absorb ->adlib ->adsorb ->adverb ->alb ->aplomb ->arab ->atombomb ======================= 基本算法 ======================= 首先将模式字符串分解为前缀字符串和后缀字符串, 用前缀字符串去跑trie树,得到所有匹配的结果, 从每个结果的结尾抽取长度为length(后缀字符串)的字符与后缀字符串进行比较, 如果不相同则舍弃,如果相同则对结果和模式字符串进行通配符匹配。 总的来说:前缀trie树剪枝-->后缀字符串比较剪枝-->通配符匹配 ======================= 第三方库 ======================= trie树使用dawgdic库,通配符匹配使用wildcards库 ====================== 使用方法 ====================== 首先checkout第三方库 mkdir libs cd libs mkdir lib-32-thirdparty cd lib-32-thirdparty svn co http://silwings.gicp.net/repos/libs/lib-32-thirdparty/dawgdic svn co http://silwings.gicp.net/repos/libs/lib-32-thirdparty/wildcards cd ../../ svn co http://silwings.gicp.net/repos/wcdict cd wcdict make ./wcdict wcdict.dic ===================== 词典构建 ===================== 二进制词典使用dawgdic-build构建 chmod u+x ../libs/lib-32-thirdparty/dawgdic/tools/dawgdic-build ../libs/lib-32-thirdparty/dawgdic/tools/dawgdic-build -g <输入文件> xxxx.dic 输入文件格式为按行存放的词条(英文单词或中文)
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
jmpesp机器人#1 · 2010/4/5
通配符匹配构造一颗语法树处理?
winton机器人#2 · 2010/4/5
chong bai ! 【 在 coolwc (小包) 的大作中提到: 】 : ====================== : 功能 : ====================== : ...................
coolwc机器人#3 · 2010/4/5
啥意思? 【 在 jmpesp (盖茨不是盖的!) 的大作中提到: 】 : 通配符匹配构造一颗语法树处理?
forever216机器人#4 · 2010/4/7
崇拜