Write a method sequences(int n, int k)
that returns
an enumeration of all possible sequences of n integers, each of which
is in the range { 1 .. k }. Represent each sequence as a string such
as "3 3 1 2".
For example,
foreach (string s in sequences(2, 3)) WriteLine(s);
might print (in some order)
1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3
And
foreach (string s in sequences(3, 2)) WriteLine(s);
might print (in some order)
1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1 2 2 2
Write a method combinations(int n, int k)
that
returns an
enumeration of all k-element subsets of the set {1, 2, …, n}.
Represent each subset as a string such as "2 4 7".
Conder this linked list class:
class Node<T> { public T val; public Node<T> next; public Node(T val, Node<T> next) { this.val = val; this.next = next; } }
Write a method combinations<T>(
Node<T>
list
, int k)
that returns an
enumeration of all k-element subsets of the given list. Represent
each subset using a linked list.
Write a method permutations(int n)
that generates
an enumeration of all permutations
of the set {1, 2, …, n}. Represent permutations using
strings.