请问 Java 的 List, js 的数组,它们的.sort(lambda)内部实现是啥?桶排序吗?

2020-02-26 20:32:44 +08:00
 Newyorkcity
rt 谢谢解答
2432 次点击
所在节点    Java
4 条回复
Cbdy
2020-02-26 20:56:49 +08:00
js 不同引擎不太一样,蜘蛛猴好像是快排,V8 早期好像也是,后来改成了类似希尔排序的一种算法
java list 的不同实现也不同,array list 应该是归并,tree list 估计是某种树吧,比如红黑树
meteor957
2020-02-26 21:30:44 +08:00
js 据说是改进的快排
aguesuka
2020-02-26 23:08:39 +08:00
java 的 arraylist 是 timsort
lxk11153
2020-02-28 08:59:14 +08:00
1. https://medium.com/@realdennis/javascript-%E5%BE%9Earray%E7%9A%84sort%E6%96%B9%E6%B3%95-%E8%81%8A%E5%88%B0%E5%90%84%E5%AE%B6%E7%80%8F%E8%A6%BD%E5%99%A8%E7%9A%84%E5%AF%A6%E4%BD%9C%E7%AE%97%E6%B3%95-c23a335b1b80
js-Chrome: 之前改进的快排,现在 TimSort
js-Firefox: MergeSort

2. java-array: 改进的快排; java-list: 之前 MergeSort,现在 TimSort

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/647824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX