有没有 Java 算法的标准库集合

2022-08-31 22:11:31 +08:00
 golangLover

发现 leetcode 很多问题在业务性能上有用处。我都想要一个 util ,就是像 top-k 大, 合并顺序数组,permutation 之类的。有没有这样一个类似于 apache common 的工具可以直接调用呢? 这些算法既然经常考,性能又高,但好像找不到这样的一个标准库实现。

谢谢大家

2128 次点击
所在节点    程序员
4 条回复
dqzcwxb
2022-08-31 22:25:41 +08:00
java.util.Arrays#parallelSort(T[], java.util.Comparator<? super T>) 的 TimSort 算法本身就是最优秀的排序算法之一,所以手写排序的需求在 java 这里基本没有
golangLover
2022-08-31 22:35:35 +08:00
@dqzcwxb 顺序数组那你这个排序不就有点多余了?
ufan0
2022-09-01 02:10:22 +08:00
所谓这些经常考的算法,面试者能给出的答案其实性能并不高,勉强拿得上台面。不说学术级,工业级的实现都不知道比面试考的高多少个档次。

回归正题,在 github 看算法第四版代码的时候有看到这样的项目,你可以根据算法第四版关键字找下,对于具体业务场景,可定制化性几乎莫得。

有定制能力的人不会用这样的项目毕竟目前没有背书贸然用成本更高,没定制化能力的人用不来改不动看不懂。

总而言之,这种项目在我个人看来索然无味。都是些简单的算法,直接写就行,没必要去刻意寻找此类项目,实在需要可以参考国外大学的网站,有很多教科书级实现,比如 https://introcs.cs.princeton.edu/java/home/。
helloworld000
2022-09-01 04:57:10 +08:00
guava?

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

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

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

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

© 2021 V2EX