public class Combinatorics
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Combinatorics.RegularPermutationIterator
Iterátor pro variace bez opakování.
|
static class |
Combinatorics.RepetitivePermutationIterator
Iterátor pro variace s opakováním.
|
Constructor and Description |
---|
Combinatorics() |
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] args)
Spustí demonstraci použití této třídy.
|
static java.util.List<int[]> |
regularPermutationList(int n)
Kolekce permtutací.
|
static java.util.List<int[]> |
regularPermutationList(int k,
int n)
Kolekce variací bez opakování.
|
static java.lang.Iterable<int[]> |
regularPermutations(int n)
Továrna na
iterátor permtutací.
|
static java.lang.Iterable<int[]> |
regularPermutations(int k,
int n)
Továrna na
iterátor variací bez opakování.
|
static java.util.stream.Stream<int[]> |
regularPermutationStream(int n)
Stream permtutací.
|
static java.util.stream.Stream<int[]> |
regularPermutationStream(int k,
int n)
Stream variací bez opakování.
|
static java.util.List<int[]> |
repetitivePermutationList(int k,
int n)
Kolekce variací s opakováním.
|
static java.lang.Iterable<int[]> |
repetitivePermutations(int k,
int n)
Továrna na
iterátor variací s opakováním.
|
static java.util.stream.Stream<int[]> |
repetitivePermutationStream(int k,
int n)
Stream variací s opakováním.
|
public static java.lang.Iterable<int[]> regularPermutations(int n)
n
- počet prvků n-ticejava.lang.IllegalArgumentException
- pokud je n < 1
public static java.util.stream.Stream<int[]> regularPermutationStream(int n)
n
- počet prvků n-ticejava.lang.IllegalArgumentException
- pokud je n < 1
public static java.util.List<int[]> regularPermutationList(int n)
Upozornění: Na rozdíl od iterátorů a streamů je kolekce
vyrobena najednou, což může pro velká n
být paměťově značné
náročné (n! prvků).
n
- počet prvků n-ticejava.lang.IllegalArgumentException
- pokud je n < 1
public static java.lang.Iterable<int[]> regularPermutations(int k, int n)
k
- počet prvků k-tice vybírané z n-ticen
- počet prvků (n-tice)java.lang.IllegalArgumentException
- pokud není
1 <= k <= n
public static java.util.stream.Stream<int[]> regularPermutationStream(int k, int n)
k
- počet prvků k-tice vybírané z n-ticen
- počet prvků (n-tice)java.lang.IllegalArgumentException
- pokud není
1 <= k <= n
public static java.util.List<int[]> regularPermutationList(int k, int n)
Upozornění: Na rozdíl od iterátorů a streamů je kolekce
vyrobena najednou, což může pro velká n
být paměťově značné
náročné (až n! prvků).
k
- počet prvků k-tice vybírané z n-ticen
- počet prvků (n-tice)java.lang.IllegalArgumentException
- pokud není
1 <= k <= n
public static java.lang.Iterable<int[]> repetitivePermutations(int k, int n)
k
- počet prvků v generovaných polích (k-tice), tedy velikost polen
- počet možných prvků (n-tice)java.lang.IllegalArgumentException
- pokud je
k < 1 | n < 1
public static java.util.stream.Stream<int[]> repetitivePermutationStream(int k, int n)
k
- počet prvků v generovaných polích (k-tice), tedy velikost polen
- počet možných prvků (n-tice)java.lang.IllegalArgumentException
- pokud je
k < 1 | n < 1
public static java.util.List<int[]> repetitivePermutationList(int k, int n)
Upozornění: Na rozdíl od iterátorů a streamů je kolekce
vyrobena najednou, což může pro velká k
být paměťově značné
náročné (nk prvků).
k
- počet prvků v generovaných polích (k-tice), tedy velikost polen
- počet možných prvků (n-tice)java.lang.IllegalArgumentException
- pokud je
k < 1 | n < 1
public static void main(java.lang.String[] args)
args
- (ignoruje)