net.sourceforge.jabm.util
Class Partitioner

java.lang.Object
  extended by net.sourceforge.jabm.util.Partitioner
All Implemented Interfaces:
java.io.Serializable, java.util.Iterator<int[]>

public class Partitioner
extends java.lang.Object
implements java.util.Iterator<int[]>, java.io.Serializable

A class that iterates over all numerical partitions of n into k distinct parts including commutative duplications and parts containing zero.

See Also:
Serialized Form
 

Field Summary
protected  java.util.Stack<net.sourceforge.jabm.util.PartitionerState> stack
           
protected  java.util.HashSet<net.sourceforge.jabm.util.PartitionerState> visitedStates
           
 
Constructor Summary
Partitioner(int n, int k)
           
 
Method Summary
 boolean hasNext()
           
static void main(java.lang.String[] args)
           
 int[] next()
           
protected  int[] partition()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stack

protected java.util.Stack<net.sourceforge.jabm.util.PartitionerState> stack

visitedStates

protected java.util.HashSet<net.sourceforge.jabm.util.PartitionerState> visitedStates
Constructor Detail

Partitioner

public Partitioner(int n,
                   int k)
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator<int[]>

next

public int[] next()
Specified by:
next in interface java.util.Iterator<int[]>

remove

public void remove()
Specified by:
remove in interface java.util.Iterator<int[]>

partition

protected int[] partition()

main

public static void main(java.lang.String[] args)