我最近要作一个可以查单词的小英语学习软件,其中就要用到单词词库。但是我不知道如何建立这个词库,请大虾们帮帮忙,多多指教。还有谁知道到词库中检索单词的算法,也希望能告知在下。在下不胜感激。

解决方案 »

  1.   

    如果只是学习的话,可以提供一个最简单实现的方法.英语的单词还是比较简单的.1.词库顺序
    词库顺序使用单词的字母顺序来排列,如:
    a
    aa
    ab
    aba
    abb
    ......................
    2.词库的组织
    词库记录中文件的组织方式可以采取如下:
    ====================================
    $$a##art. 
    @@一 
    ##n. 
    @@字母A 
    ====================================
    每个单词后面是它的各种解释数据,包括它的词的类型,意思,例句等等.
    而且每项数据都有有它的标志符,以便查找和识别.3.词库数据文件
    用文件保存以上单词的数据.
    可以根据字母顺序来组织不同的文件保存数据,例如a开头的保存在同一个文件。
    单词的保存顺序按照1.中规定的规则.
    最简单地,用26个文件来保存分别以26个字母开头的词库.
    例如文件:
    wl_a.**
    wl_b.**
    ...(因为词库太庞大,所以不能把所有的词库都放到一个文件,这样会影响io操作性能.)
    4.索引文件
    索引文件主要记录一个单词它在相应词库数据文件中所出现的位置,它与词库数据文件是对应的,一个词库数据文件对应一个索引文件.(一一对应是为了快速定位)
    索引文件例如:
    index_a.**
    index_b.**
    ...
    制定了以上规则,你就可以开始写词库的输入系统了.输入系统写好了就可以开始产生词库的最原始数据了.
    可以产生一份标准词库.作为只读数据.
    另外还建立一个扩展词库,作为新词填充.
    (或者没有分别,词库可读可写)单词查找的时候就可以根据单词字母顺序查找索引文件中记录的单词位置。
    如果索引文件再分细(细度有一定的阀值),速度就更加快了。
    或者索引又有自己的索引,也可以加快查找速度。
    简单地说就是空间换时间。
      

  2.   

    沙发!
    以前做过,词全放在数据库中,两个字段,一个Chinese,一个English
    不知楼下的有没有好的办法。