user320744 Asked:2020-09-23 19:15:14 +0000 UTC2020-09-23 19:15:14 +0000 UTC 2020-09-23 19:15:14 +0000 UTC 在 Haskell 中,关联列表和显示有什么区别? 772 Hakell 中的映射是什么,它与关联列表有何不同? list 1 个回答 Voted Best Answer Fyodor Soikin 2020-09-23T22:56:41Z2020-09-23T22:56:41Z Data.Map.Map(根据您的链接)是一种逻辑上表示一组“键”/“值”对的数据结构。例如菜单:Cutlets => 3r,Soup => 5r,Compote => 1r。键是唯一的(即同一个键不能有两个不同的值)。 这种数据结构在俄语中通常称为“字典”。但原则上它可以解释为一组键到一组值的映射。这可能就是为什么在翻译中使用这个词的原因。 这种数据结构的实现范围可以从对列表(也称为“关联列表”)到 B 树。根据文档Data.Map, Haskell 中的一个特定库是基于二叉平衡树实现的。 一般来说,这个特定的库Data.Map和关联列表之间的区别在于:不同的内部实现。对于用户来说,这种差异体现在速度上:例如,在关联列表中搜索的复杂度为 O(N),而在二叉树中的搜索复杂度为 O(log N)。
Data.Map.Map(根据您的链接)是一种逻辑上表示一组“键”/“值”对的数据结构。例如菜单:Cutlets => 3r,Soup => 5r,Compote => 1r。键是唯一的(即同一个键不能有两个不同的值)。这种数据结构在俄语中通常称为“字典”。但原则上它可以解释为一组键到一组值的映射。这可能就是为什么在翻译中使用这个词的原因。
这种数据结构的实现范围可以从对列表(也称为“关联列表”)到 B 树。根据文档
Data.Map, Haskell 中的一个特定库是基于二叉平衡树实现的。一般来说,这个特定的库
Data.Map和关联列表之间的区别在于:不同的内部实现。对于用户来说,这种差异体现在速度上:例如,在关联列表中搜索的复杂度为 O(N),而在二叉树中的搜索复杂度为 O(log N)。