没有重复比较的排序算法?

Sorting algorithm with no repeat comparisons?

提问人:Greedo 提问时间:8/2/2021 更新时间:8/2/2021 访问量:51

问:

我有一个要手动排序的项目列表。我的方法是向用户弹出一个对话框,上面写着“哪个项目更好”,他们点击更好的项目,这相当于代码中的比较。a>b

用。NET的arraylist实现了使用QuickSort的排序,我发现相同的2个项目经常被相互比较。

由于比较速度非常慢(手动),是否有像快速排序这样的算法,但它会记住 2 个项目的比较结果?

排序 与语言无关

评论

2赞 Stef 8/2/2021
难道你不能把你的比较方法包装在一个只在必要时调用的方法中,并将比较结果存储在本地映射中,以便可以重用吗?askUser(x,y)compare(x,y)askUser(item, item) -> bool
0赞 Stef 8/2/2021
不过,如果你对运筹学领域的研究论文感兴趣,请参阅 scholar.google.fr/scholar?q=ranking+pairwise+comparison,特别是通过成对比较的偏好学习和排名
0赞 Matt Timmermans 8/7/2021
合并排序作品

答: 暂无答案