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

解决方案 »

  1.   

    数组元素可以是任何 obj。。所以嘛。。o 了。。
      

  2.   

    链接存储。对于C语言来说,使用指针,对于C#来说,使用引用: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>>(); }
    }