定理

过$n$个有标志顶点的树的数目等于$n^{n-2}$。

此定理说明用$n-1$条边将$n$个已知的顶点连接起来的连通图的个数是$n^{n-1}$。也可以这样理解,将n个城市连接起来的树状网络有$n^{n-1}$种可能方案.所谓树状,指的是用$n-1$条边将$n$个城市连接起来,即无环。当然,建造一个树状网络一般是求其长度最短或造价最少等.Cayley定理只能说明可能方案的数目。

证明

Cayley定理的证明方法很多,下面采用最聪明也是最容易理解的一一对应法。不失一般性,假定已知的n个顶点标志为1,2,..n.

假设$T$是其中一棵树,树叶中有标号最小的,设为$a_1$,$a_1$的临界点为$b_1$,从图中消去$a_1$点和边$(a_1,b_1)$,$b_1$点便成为消去后余下的树$T_1$的顶点。在余下的树$T_1$中继续寻找标号最小的树叶,设为$a_2$,$a_2$的邻接点为$b_2$,从$T_1$中消去$a_2$及边$(a_2,b_2)$。如此步骤共执行n-2次,直到最后只剩下一条边为止.于是一棵树对应一序列

$$b_1,b_2,\cdots ,b_{n-2}$$

$b_1,b_2,\cdots ,b_{n-2}$是1到n的数,并且允许重复。

反过来从$b_1 b_2 \cdots b_{n-2}$可以恢复树$T$本身,方法如下:

一个是顶点标号的有序序列

$$1,2, \cdots ,n  \tag{1} $$

另一个是生成的序列

$$b_1,b_2,\cdots ,b_{n-2} \tag{2}$$

过程:在序列(1)中找出第一个不出现在序列(2)中的数,这个数显然便是$a_1$,同时形成的边$(a_1,b_1)$,并从(1)中消去$a_1$,从(2)中消去$b_1$,在余下的序列(1)、(2)中继续以上的步骤n-2次,直到序列(2)为空集为止。这时序列(1)剩下的两个数$a_k$,$b_k$,边$(a_k,b_k)$是树T的最后一条边。

以下图说明上述步骤:

上面的过程说明过n个已知标号的顶点的树和序列$b_1b_2 \cdots b_{n-2}$一一对应,根据乘法法则可得,过n个有标号(相当于互异)的顶点的树的数目,由于$1\leq b_i\leq n,i=1,2,\cdots,n-2$,故为$n^{n-2}$个.

Cayley定理的证明过程实际上是提供了构造过n个有标号顶点的树的方法。

(参考书:组合数学   卢开澄、卢华明等编著)

Cayley凯莱定理——一一对应的更多相关文章

  1. ZOJ 3604 Tunnel Network(凯莱定理)

    题目链接: E - Tunnel Network ZOJ - 3604 题目大意: 给定编号1-n的点,和给定编号1-S 的联通图,刚开始1号联通图只有 1个顶点,就是编号为1的顶点,2号联通图也只有 ...

  2. Prüfer序列和cayley定理

    参考资料: 1.matrix67 <经典证明:Prüfer编码与Cayley公式> 2.百度百科 3.Forget_forever prufer序列总结 4.维基百科 5.dirge的学习 ...

  3. P2817 宋荣子的城堡

    P2817 宋荣子的城堡一道找规律的题,现在深入追究发现了有趣的东西.1 12 23 94 64显然k^(k-1) 在日照的时候也推出来了.3 9今天推错了,要列出所有的情况,然后再选,否则会漏掉.答 ...

  4. [Luogu] P2817 宋荣子的城堡

    题目描述 saruka有一座大大的城堡!城堡里面有n个房间,每个房间上面都写着一个数字p[i].有一天,saruka邀请他的小伙伴LYL和MagHSK来城堡里玩耍(为什么没有妹子),他们约定,如果某一 ...

  5. 求解线性递推方程第n项的一般方法

    概述 系数为常数,递推项系数均为一次的,形如下面形式的递推式,称为线性递推方程. \[f[n]=\begin{cases} C &n\in Value\\ a_1 f[n-1]+a_2 f[n ...

  6. 2019暑期金华集训 Day2 线性代数

    自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度. 在欧几里得环(简单例子是模合数)意义下也是对的.比如模合数意义下可以使用辗转相除法消元. 欧几里得环:对 ...

  7. ZROI 19.07.29 线性代数入门/wq

    1.高斯消元 在模意义下依然有效,对主元求逆即可. 甚至可以模合数,需要对两个方程辗转相除,复杂度\(O(n^3\log p)\). 辗转相除法只要能定义带余除法就有效. 逆矩阵:对于矩阵\(A\), ...

  8. 离散数学 II(最全面的知识点汇总)

    离散数学 II(知识点汇总) 目录 离散数学 II(知识点汇总) 代数系统 代数系统定义 例子 二元运算定义 运算及其性质 二元运算的性质 封闭性 可交换性 可结合性 可分配性 吸收律 等幂性 消去律 ...

  9. 浅谈Prufer序列

    \(\text{Prufer}\)序列,是树与序列的一种双射. 构建过程: 每次找到一个编号最小的叶子节点\(Leaf\),将它删掉,并将它所连接的点的度数\(-1\),且加入\(\text{Pruf ...

随机推荐

  1. 混用ngui和ugui渲染顺序问题

    http://blog.csdn.net/xtxy/article/details/38332801 为NGUI panel 添加 sorting layer 接着上一篇文章的问题,看到了老外做的一个 ...

  2. Unity学习(六)5.x依赖打包

    http://blog.sina.com.cn/s/blog_89d90b7c0102w2ox.html unity5已经封装好了接口,所以依赖打包并没有那么神秘和复杂了. 打包: 1.定义好资源的a ...

  3. 如何解决启动Error:com.intellij.util.indexing.StorageException问题?

    启动tomcat时idea出现如下错误: Error:com.intellij.util.indexing.StorageException: com.intellij.util.indexing.S ...

  4. 搭建 CDH 版本hive

    搭建一个完整的cdh 的版本,由于涉及的产品和步骤太多,在客户那里部署环境时,很容易出现意外,所以如果只是需要部署一个测试环境来进行验证,我们没有必要完完整整的部署整个cdh.   下面是通过命令行的 ...

  5. mysql之SQL入门与提升(四)——终结篇,函数

    一.SQL Aggregate (聚合)函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. AVG() - 返回平均值 COUNT() - 返回行数 FIRST() - 返回 ...

  6. Eclipse-Hadoop-Plugin编译

    1 JDK配置 1.1 安装JDK 具体可以百度,网上教程很多,有JAVA开发环境的都是已经安装的. 1.2 配置环境变量 设置JAVA_HOME.CLASSPATH.PATH等.具体可以百度,有JA ...

  7. Cordova 系列之创建一个iOS项目

    1.打开终端 2.输入命令 $ cd Desktop (PS:Desktop表示放在桌面,你可以选择放任意位置) 3.$  cordova create HelloWorld com.example. ...

  8. [題解]BZOJ_1260_塗色

    簡單的區間dp,結果竟然寫掛了......還掛的很徹底......狗屎 如果區間左右端點相等,那麼不需要在多花一次去刷,對 f [ i+1 ] [ j ],f [ i ] [ j-1 ]取個min, ...

  9. tcp端口扫描(python多线程)

    1 使用单线程扫描单台主机 首先实现的是对单台主机中0-1024端口的扫描,发现差不多每秒扫描一个端口,很慢. import socket def tcp_scanner(host,port): cl ...

  10. urllib库的基本使用

    urllib库的使用 官方文档地址:https://docs.python.org/3/library/urllib.html 什么是urllib Urllib是python内置的HTTP请求库包括以 ...