【发布时间】:2012-10-14 01:28:03
【问题描述】:
我对使用 A* 的打开列表的跳过列表很感兴趣。然而,让我感到困扰的是它的概率性质。开放列表可以从非常小的节点集到大量节点,并且需要保持每个节点的性能。
据我了解,跳过列表对于小型数据集随机给出错误结果的可能性更高。我认为这可能会在生成大量短路径时出现问题。
我正在考虑解决这个问题,为什么不在一定程度上监视随机数。保持每个级别的节点数量的运行总数,并且为了保持每个级别之间节点的理想分布,有时会干预并强制节点成为特定级别。
我不确定这在我的给定应用程序中的效果如何,我是否应该专注于我的开放列表的另一个数据结构。
我在跳过列表上阅读的所有文章都没有提到这种优化。由于我对整个性能分析游戏还很陌生,因此我不愿尝试改进已记录的数据结构。
【问题讨论】:
-
美妙之处在于,跳过列表对于小列表有不好的属性是无关紧要的,因为小列表无论如何都会很快,即使降低到线性查找时间。直到在分析并发现它是一个问题之前,我不会担心这个。
标签: algorithm data-structures language-agnostic skip-lists