日期:2014-05-18  浏览次数:20679 次

如何用一个数组来表示n叉树呢?
我们都知道,用数组表示一个完全二叉树的话,元素i的左儿子为2i,右儿子为2i+1,父亲元素为i/2向下取整。那么用数组来表示一个n叉树该如何表示呢?想破脑袋还是没想出来

------解决方案--------------------
数组元素可以是任何 obj。。所以嘛。。o 了。。
------解决方案--------------------
链接存储。

对于C语言来说,使用指针,对于C#来说,使用引用:

C# code
class Tree<T>
{
    public T Root { get; set; }
    public List<Node<T>> Nodes { get; private set; }
    public Tree() { Nodes = new List<Node<T>>(); }
}
class Node<T>
{
    public T Value { get; set; }
    public List<Node<T>> Nodes { get; private set; }
    public Node() { Nodes = new List<Node<T>>(); }
}