【发布时间】:2021-07-26 21:25:47
【问题描述】:
我想在 Haskell 中使用树来存储单词列表。我想为我的目的使用一个通用的 NTree(n-ary),我认为 container 包中的 Data.Tree 模块可能是一个很好的解决方案。
我的问题是我不知道如何处理这个模块,例如它的 API 与 Data.Map 非常不同。
你知道插入元素、从列表中导入数据、测试元素是否存在等功能吗?
我的模块选择正确吗?他们的另一个模块合适吗?
【问题讨论】:
-
这不是一个搜索树,它是一个“简单”的树...
-
他们的另一个包是否提供通用搜索树?
-
你为什么不直接使用
Data.Map而不用担心实际的树实现? -
我可以使用
Data.Map,但我不想根据键查找值,而只是测试一个值是否是树的成员。Data.Map中的member函数测试是否存在密钥。我想测试一个值是否存在。 -
那么
Data.Set? (或等价于Data.Map,其中值存储在关键字段中,映射值为()。)
标签: haskell tree containers binary-search-tree