定理

过$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. Python3.6 的字符串内建函数

    1.capitalize(self) 将字符串的第一个字符转换为大写 2.casefold(self) 返回将字符串中所有大写字符转换为小写后生成的字符串 3.center(self, width, ...

  2. 查看python 3中的内置函数列表,以及函数功能描述

    >>> dir(__builtins__)//查看内置函数(BIF)列表 ['ArithmeticError', 'AssertionError', 'AttributeError' ...

  3. PaddlePaddle分布式训练及CTR预估模型应用

    前言:我在github上创建了一个新的repo:PaddleAI, 准备用Paddle做的一系列有趣又实用的案例,所有的案例都会上传数据代码和预训练模型,下载后可以在30s内上手,跑demo出结果,让 ...

  4. E20190215-mt

    parenthesis n. 圆括号; 插入语; 插入成分; 间歇; (parentheses) individual  adj. 个人的; 个别的; 独特的;    n. 个人; 个体; priva ...

  5. PhpStorm下载、破解

    下载 去官网下载新版phpstorm 破解 1.打开编辑器, Help->Register->License server,输入http://idea.codebeta.cn (支持10. ...

  6. 一种Unity2D多分辨率屏幕适配方案

    http://www.cnblogs.com/flyFreeZn/p/4073655.html 此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏 ...

  7. Ogre 学习记录

    http://www.cppblog.com/richardhe/articles/55722.html 1: 设计初衷 它设计初衷是完全跨平台的.抽象的接口隐藏了平台相关的细节. 它设计初衷是大幅度 ...

  8. express框架之1

    express框架: 1.依赖中间件 2.接受请求 get / post / use get('/地址' , function(req , resp ){}) post和use 同理 3.非破坏式 4 ...

  9. (转)关于MongoDB你需要知道的几件事

    本文列举了颇让作者困惑的一些MongoDB限制,如果你也打算使用MongoDB,那么至少要提前了解这些限制,以免遇到的时候措手不及. 消耗磁盘空间 这是我的第一个困惑:MongoDB会消耗太多的磁盘空 ...

  10. jar工具的使用