一个简单的穷举 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
supersheep
V2EX    Node.js

一个简单的穷举

  •  
  •   supersheep 2013-06-30 11:53:10 +08:00 3738 次点击
    这是一个创建于 4494 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近疯狂猜图很火,于是想有没有办法通过穷举自动识别出可能的组合。写的时候发现算法什么的都还给老师了,比如有n个可选字,组成一个m位数的词,当中不能有重复,感觉有点像n皇后问题,反正倒腾了半天没搞定,弱爆了。今天早上想到拿进制来做,其实道理一样的,不过代码会变得简单清晰很多,简单讲就是把递增的i转成一个m位的n进制数。

    大致就是这样:

    http://gist.github.com/supersheep/5893777.js

    现在觉得数量还是太大了,无从判断,拿来发douban api一下子access rate limit就爆掉了,所以有必要有个本地词库拿来扫一下,可以组成词组的字占一半以上才列入考虑。有兴趣的同学可以继续尝试一下看看咯。
    5 条回复    1970-01-01 08:00:00 +08:00
    csx163
        1
    csx163  
       2013-06-30 13:18:57 +08:00
    感觉还是要词库,里面大部分都是能连接的字符
    Golevka
        2
    Golevka  
       2013-06-30 15:02:29 +08:00
    把字典组织成trie的形式, 把待匹配的字符集中取出一个元素作为首字母然后用类似递归下降的方式匹配剩余的部分. 目测剪枝能力还是可以的, 至少比穷举要好得多
    Ricepig
        3
    Ricepig  
       2013-06-30 19:11:52 +08:00 via iPhone
    字根表就行了
    supersheep
        4
    supersheep  
    OP
       2013-06-30 20:33:42 +08:00
    @Golevka 嗯,多谢,回头试试看。
    @Ricepig 字根表是什么意思?google搜到的都是五笔相关的内容。和Golevka是一个意思么?
    Ricepig
        5
    Ricepig  
       2013-06-30 23:14:30 +08:00
    @supersheep 额,不好意思我词不达意了,我当时的意思是词根。英文里用的比较多,比如说什么前缀,什么后缀大概能表达一个什么意思。这样不用多大的库,剪枝效果就很好了。

    字典当然更好,不过对字典的要求比较高,另外就是高质量的字典可能本身也不小了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2733 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 14:10 PVG 22:10 LAX 07:10 JFK 10:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86