【发布时间】:2013-03-28 04:21:06
【问题描述】:
给定一个数据结构规范,例如具有已知复杂性界限的纯功能映射,必须在几种实现之间进行选择。关于如何选择正确的树有一些民间传说,例如红黑树通常被认为更快,但 AVL 树在具有许多查找的工作负载上具有更好的性能。
是否有系统地介绍(发表的论文)这种知识(与集合/地图相关)?理想情况下,我希望看到对实际软件进行的统计分析。例如,它可能会得出结论,有 N 种典型的地图用法,并列出每种的输入概率分布。
是否有系统的基准测试来测试地图和设置不同输入分布的性能?
是否有使用自适应算法根据实际使用情况改变表示的实现?
【问题讨论】:
-
你看过冈崎的书吗,Purely Functional Data Structures?
-
@RobertHarvey,是的,我有一份。它在设计 PFDS 和进行复杂性分析方面具有出色的材料。对从业者也有一些提示(民间传说见上)。不过,我正在寻找更多的经验数据,和/或对实际使用模式的统计分析。
-
这似乎是一个有趣的问题,但我不确定它是否是主题。它非常本地化,从某种意义上说,您基本上希望有人偶然发现这里恰好知道一篇讨论这个问题的论文(这是一个
canihazresourcez问题,换句话说,一个众包互联网搜索) .无论如何,粗略的谷歌搜索会出现这个:citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.9196
标签: data-structures functional-programming statistics avl-tree red-black-tree