• purfer序列


    prufer序列求法

    对于一个无根无向图我们可以应用prufer序列操作使它缩成一个序列。

    具体操作

    一,每次选出来树中编号最小的点且度数为一(即叶子节点)

    二,将与被删去的点相连的节点加入prufer序列中

    重复一,二,操作直到只剩下两个点(具体为什么剩下两个点在后文)

    将prufer序列转换为树

    因为prufer与一颗无根树一一对应,所以对于一个prufer序列我们还可以把它还原成无根树

    具体操作

    设prufer序列长度为len

    设定一个序列s为$1,2,3,…… len+2$

    每次取prufer序列的队头为pfrist

    在s中寻找一个满足prufer中不含你所选的数的最小

    将pfrist与你选的数连边,将s中你选的数删去,

    每次进行该操作,直到s剩下最后两个数时再将剩下的两个数之间连边

    经过这样的操作就得到了一棵树

    例如prufer序列为1 2 2,s序列为 1 2 3 4 5

    先让1和3连边,

    此时prufer序列剩下2 2 ,s剩下 1 2 4 5

    再让2和1连边

    此时prufer序列剩下2 ,s剩下 2 4 5

    然后再让2与4连边

    s剩下2 5  2 5之间再连边

    因为只用n-2个数就可以确定一棵树,所以如果将一个树转换为prufer序列剩下两个点再加入prufer中是没有意义的 

    prufer序列性质

    一,一棵无根树共有$n^{n-2}$种

    因为prufer序列中数唯一对应一棵树

    ,对于prufer序列共有n-2个数,每个数可以是1-n中任何一个数,所以得到$n^{n-2}$

    二,prufer序列中每个点出现次数为该点在无根树中度数-1

    观察我们将树转化为prufer序列过程可以得到二

    题目

    明明的烦恼(待做)
    树的统计

    题解:https://www.cnblogs.com/znsbc-13/p/11222262.html

    我已没有下降的余地
  • 相关阅读:
    Android的selector,背景选择器
    JAVA静态和非静态内部类
    Android应用资源--之属性(Attribute)资源
    contentprovider的学习实例总结
    转:Android 2.3 代码混淆proguard技术介绍
    忘掉旋转,利用2-3-4树,学习红黑树
    ios 定位获取当前位置信息
    地图相关
    mac下,svn配置
    NimBus一个好的开发框架
  • 原文地址:https://www.cnblogs.com/znsbc-13/p/11221213.html
Copyright © 2020-2023  润新知