【问题标题】:permutations/combinatorics library for java? [closed]java的排列/组合库? [关闭]
【发布时间】:2012-08-17 21:45:49
【问题描述】:

我正在寻找一个 java 库,它将生成一组所有可能的顺序排列。我能找到的唯一图书馆是combinatoricslib on google code。我很难相信这是唯一一个这样做的 java 库,坦率地说,我对此感到非常惊讶。

JDK 或 apache commons math 或其他库中是否有任何提供相同功能的东西?

我很高兴使用combinatoricslib,我简直不敢相信这是唯一的选择,除了自己编写算法,诚然这并不难,但.isBlankOrNull() 也不是,而且apache commons 也包括了。

【问题讨论】:

  • 仅供参考,作为一般规则,“它在图书馆里吗?”与“难度”的相关性较低,而与“在现实世界的问题中有多少人经常遇到这个用例”的相关性更强。
  • @LouisWasserman:如果这是准确的,那为什么没有treetrie 数据结构的库?
  • 我认为我的上述陈述也回答了这个问题,尽管尝试是一种通用结构,以至于创建一个适合所有用例的库或多或少是不可能的。

标签: java permutation combinatorics


【解决方案1】:

你检查过Guava吗?它似乎在Collections2 中提供了排列方式

类集合2
排列(集合元素)
返回指定集合的​​所有排列的集合。

【解决方案2】:

Apache Commons Collection 库版本 4 中有 PermutationIterator 类。它接受一个泛型 Collection 并提供一个迭代器,该迭代器迭代集合中元素的所有排列(每次调用迭代器上的 next() 都会提供一个有序列表)。

我刚刚意识到 Collection 库的第 4 版仅在 2013 年 11 月 27 日发布。版本 3 不提供用于排列的实用程序。 V4 “通过支持 Java 1.5 引入的新语言特性,代表了对集合的重大改造,主要支持泛型。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2012-09-18
    • 2020-04-27
    • 2011-02-20
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多