如何用一个数组来表示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>>(); }}