/*
测试数据
5
4
1 2
1 3
1 4
2 1
2 3
2 4
2 5
3 1
3 2
3 4
4 1
4 2
4 3
4 5
5 2
5 4
0 0
*/
import java.util.*;
/**
* 描述m着色问题,问题见《算法设计与分析》(王晓东),第五章回溯法
* @author 2008-8-2
*/
public class Coloring
{
private int n=0;//结点数[......]
/*
测试数据
5
4
1 2
1 3
1 4
2 1
2 3
2 4
2 5
3 1
3 2
3 4
4 1
4 2
4 3
4 5
5 2
5 4
0 0
*/
import java.util.*;
/**
* 描述m着色问题,问题见《算法设计与分析》(王晓东),第五章回溯法
* @author 2008-8-2
*/
public class Coloring
{
private int n=0;//结点数[......]
import java.util.*;
class TNode
{
private Map<Integer,TNode> map = new HashMap<Integer,TNode>();
public TNode()
{
}
public void addChild(int i,TNode t)
{
map.put(i, t);
}
public TNode getChild(int i)
{
return map.get([......]
/**
*
本类为树(多叉,双亲存储)的结点
* @version 1.0, 2008-01-23
* @author
* @since JDK1.6
*/
public class TNode
{
/**结点的数据*/
char data;
/**双亲的位置*/
int parent;
/**
* 构造一个结点(同时设置数据和双亲位置)
*
* @param c char 数据
* @param e int 双亲位置
*/
public TNod[......]
/**
*
本类为树(孩子-兄弟存储)的结点
*
* @version 1.0, 2008-01-24
* @author 北京交通大学
* @since JDK1.6
*/
public class CSNode
{
/**结点的数据*/
char data;
/**第一个孩子节点的位置*/
private CSNode nextSibling;
/**下一个兄弟节点的位置*/
private CSNode firstChild;
/**
* 构造一[......]
TNode.java
定义Huffman编码的节点
/**
*
赫夫曼编码的节点定义类
*
* @version 1.0, 2007-01-8
* @author
* @since JDK1.6
*/
class TNode
{
/**权值*/
protected int w;
/**左孩子节点*/
TNode lChild = null;
/**右孩子节点*/
TNode rChild[......]