设计牛津英语词典

设计牛津英语词典

在一次采访中有人问我如何设计牛津英语词典。

我告诉他我将使用TREE数据结构,但是他回答说它将占用大量内存。那么应该使用哪个其他数据结构?

最佳答案

我听说过去曾经在手机中使用一种数据结构来存储T9字典(嗯,这仅解决了关键问题,而没有解决定义存储问题):

对条目进行排序,并且每个条目都应以与上一个条目的偏移量开始,该偏移量应从该位置开始,并从该位置继续。例如:

apple
4icable
7tion

将解码为苹果,适用的应用程序。但是,这与合并链的尝试可能没有什么不同,请参阅
appl -> e
     -> ica -> ble
            -> tion

维基百科揭示了Directed acyclic word graph,它不同于树,它不仅分支,而且分支可以合并,其中词具有相同的后缀。实际上,这可能是一个出色的存储。
        a
       / \
  pplic   utom
       \ /
      ation

关于java - 设计牛津英语词典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8453515/

10-11 20:14