我使用二叉树数据结构设计字典。但是我要求从二叉树数据结构中找到类似的含义词。我想知道二进制树数据结构是否可以修改以实现它,或者是否有其他数据结构支持此要求
答案 0 :(得分:3)
您可以使用Disjoint Sets数据结构来构建初步数据。
每个同义词包都有主要的代表词。如果两个词共享相同的代表,则它们是同义词。
当所有词汇单词都分配给组时,请使用包含组的列表填充地图(字典,散列图)。每个单词的关键是代表性的。
因此,要获得给定单词的同义词,您必须:
-take代表这个词
- 找到该代表的地图条目
-extract此地图条目中的同义词列表
当然,正如Christofer Ohlsson所注意到的,同音异义词(同一个词的不同含义)使问题更难解决。