n个结点的无向完全图的生成树的个数

版权声明:本文为Cantjie原创文章,转载需获得博主许可 https://blog.csdn.net/cantjie/article/details/81072276

头部闲扯

今天闲来在google搜了一下cantjie,突然发现我的博客竟然被引用过,很是惊讶。因为虽然仅仅只是过去一年,我现在看我去年写的博客,就有种“这写的什么垃圾玩意”的感觉,没想到竟然也会有人浏览并引用我的博客。

想来这个博客闲置一年多了,突然就想再拾起来看看,能不能再偶尔写几篇,不一定为了分享给谁看,也是为了给自己整理一下思路。

正文

刚到新加坡,前两天介绍了一下 community detection的知识,但是主要算法都没有讲,过两天如果有空看看能不能边学习算法边写写博客。昨天做这门课的quiz,遇到一个有趣的问题:6结点的无向完全图的生成树的个数是多少?想了一个多小时也没有想出来结果。

最开始的思路是,应该有个什么递推公式吧,比如把4个结点可以分为1+3或2+2之类,也许这个思路还可以再想下去,目前还没有什么进展。

然后看看了matrix67的博客http://www.matrix67.com/blog/archives/682【经典证明:Prüfer编码与Cayley公式】
大概了解Cayley公式就是说:n个结点的无向完全图有 n(n-2)个结点。
而这个Prufer数列是说:一个Prufer序列唯一对应了一个无根树,这个序列的长度是n-2

博客中给了Prufer数列唯一对应一个无根树的证明过程。之后思考问题的关键在于将:“n个结点的完全无向图的生成树的个数”转化为“n个结点可以构成多少棵树”,再转化为“n个结点可以构成多少个prufer数列”。这样就想明白了,prufer序列长度为n-2,每个位置取值都是[1,n],且各个位置可以重复,那么构成的prufer数列的数目自然就是n(n-2)了。

尾部闲扯

最后还是想抱怨两句,感觉自己学习能力和自制力真的很成问题。
自己学习一会就想去youtube看会儿视频刷刷空间朋友圈什么的,通过这种方式消磨的时间,如果凑起来,大概已经可以去植物园和动物园一趟了。明明中午就没有午休,晚上睡前还非要玩会手机,把可以有8个多小时的睡眠压缩到七个小时。
自己读了半天才理解的代码,计算机专业的大佬轻轻松松就看明白了。自己尝试了半天才把某个基础的库函数勉强会用,有的同学简单一句我没见过的库函数就把我好几行代码都写完了。
差的太多了,自己。

猜你喜欢

转载自blog.csdn.net/cantjie/article/details/81072276