创建一个随机树?

时间:2013-02-14 15:27:08

标签: javascript algorithm graph

创建随机树(或满足树属性的邻接矩阵)的好方法是什么?我目前有以下数据结构,我要返回,但我想随机生成。有什么建议?

    return [{
        Source: "A1",
        Target: "A2",
    }, {
        Source: "A2",
        Target: "A3",
    }, {
        Source: "A1",
        Target: "A4",
    }, {
        Source: "A4",
        Target: "A6",
    }, {
        Source: "A4",
        Target: "A7",
    }, {
        Source: "A3",
        Target: "A8",
    }, {
        Source: "A3",
        Target: "A5",
    }];

1 个答案:

答案 0 :(得分:7)

具有n个节点的树可以由n-2个整数序列(在[0,n-1]的范围内)唯一地表示。这称为Prüfer sequence

创建随机序列应该没问题。然后你只需要将序列转换为你的树结构,你就完成了。