algorithm - 用于查找具有相似含义的单词的最佳数据结构

标签 algorithm data-structures binary-tree binary-search-tree

我正在使用二叉树数据结构设计字典。但是我需要从二叉树数据结构中找到相似含义的词。我想知道是否可以修改二叉树数据结构来实现它,或者是否有其他数据结构支持此要求

最佳答案

您可以使用 Disjoint Sets用于构建初步数据的数据结构。

每组同义词都会有主要的代表词。如果两个词具有相同的代表,则它们是同义词。

当所有词汇都分配给组时,用包含组的列表填充映射(字典、 HashMap )。每个词的键值都具有代表性。

因此,要获得给定单词的同义词,您必须:
- 代表这个词
- 为这位代表找到 map 条目
- 从此 map 条目中提取同义词列表

当然,正如 Christofer Ohlsson 所注意到的,同音异义词(同一个词的不同含义)会使问题变得更加困难。

关于algorithm - 用于查找具有相似含义的单词的最佳数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37830276/

相关文章:

c - 没有自引用结构的链表

c - 为什么这个销毁函数在单链表中抛出段错误

algorithm - 将每个节点的 'parent'存储在红黑树中简化了哪些操作?

c - 简单的中序树遍历给出了一个非终止循环。 (使用数组)

java - 我如何随机分配一个 ArrayList?

arrays - 算法:查找数组中元素的最大子集

java - 高效的数组插入/删除算法

algorithm - azure 表上的动态搜索

c++ - 可遍历内存池的数据结构

从数组创建一个未排序的二叉树(这将像一个堆,即按顺序存储但未排序)