zoukankan      html  css  js  c++  java
  • Prufer 序列

    Prufer 序列简介:

    一个 Prufer 序列一一对应一个无根数,即:一个 Prufer 序列可以用于描述一颗无根树。

    生成 Prufer 序列:

    假定给出一颗 n 个节点的无根树,生成 Prufer 序列步骤如下:

    1. 寻找度为 1 且编号最小的节点,将其父节点加入 Prufer 序列,并在树中删除此节点;重复此步直到仅剩下两个节点。
    2. 最终生成的 Prufer 序列长度为 (n-2)。

    下图中的树对应的 Prufer 序列为:3, 5, 1, 3

    Prufer 序列生成树:

    根据上述生成 Prufer 序列方法逆推即可。

    Prufer 序列性质:

    1. 一个 Prufer 序列中节点出现的次数恰好为对应树中节点度数 -1 ;
    2. 对于一颗 n 节点的树,其 Prufer 序列长度恰好为 (n-2),且序列中的元素均为节点编号,据此可推出 n 个节点可生成 n^(n-2) 颗不同的树;
    3. 继续推广可得:n个节点的度依次为D1, D2, …, Dn的无根树共有   (n-2)! / [ (D1-1)!(D2-1)!..(Dn-1)! ]  个;
  • 相关阅读:
    nodejs
    flask中flash(闪现)的使用
    flask中logger日志的使用
    flask中session的使用
    flask开启调试模式
    flask中静态文件的引入
    flask中模板引入
    python web开发屠龙刀flask
    python操作excel基础1-环境搭建
    php算法-dijkstra
  • 原文地址:https://www.cnblogs.com/xiepingfu/p/7425530.html
Copyright © 2011-2022 走看看