有向图欧拉回路条数-BEST定理

本文探讨如何计算所有点入度等于出度的有向图中的欧拉回路条数。通过构建以1号节点为根的内向树,并对非树边指定顺序,证明了这种方案与欧拉回路的一一对应。利用BEST定理和矩阵树定理,可以高效地求解内向树的数量和欧拉回路总数,即答案为T1(G) * ∏(di-1)!,其中T1(G)是去掉第一行第一列后出度矩阵减邻接矩阵的行列式值,di表示点i的出度。此外,还讨论了欧拉图中T1(G) = T2(G) = ... = Tn(G)的性质。
摘要由CSDN通过智能技术生成

教学香肠系列……

给定一张所有点入度=出度的有向图,求欧拉回路条数。
n500

为了避免出现重复,对于这个无向图,我们先确定一条 1 号节点出发的起始边。

找一个以 1 号点为根的内向树(即每个点有唯一的一条路径到达 1 号点),对于一个点的所有不在树上、非起始边的出边,指定一个顺序。

容易证明,这样做的一个方案唯一对应一条欧拉回路。

证明:
=>:构造法,从1号节点出发,先走起始边,每到一个点,优先走非树边,再走树边。对于非树边,按照指定的顺序走,即,如果第一条边没走过,走第一条,否则走第二条,…,若所有非树边都走过,则走树边。由于所有点入度=出度,所以不会有无边可走的情况,直到回到 1 号节点且无边可走为止。
显然每条边至多走一次,如何证明每条边至少走了一次?
性质1:如果一个点有未走过的出边,则这个点出发的树边一定未走过,因为树边是最后走的
性质2:如果一个节点出发的树边未走过,则它父亲节点出发的树边一定也未走过,因为每个节点入度=出度
然后就好办了,反证法,假设存在一条边没走过,那么这条边的树边一定也没走过,进而这条边父亲的树边也没走过……以此类推, 1 号节点有至少一条入边没有走过,那么由于入度=出度, 1 号节点也有至少一条出边未走过,这与终止条件矛盾,证毕。

<=:反向就很简单了,对于欧拉回路我们从 1 号节点出发先走起始边,然后对于每个点的所有出边,最后一条是树边,其余按照遍历顺序确定顺序即可得到一个上述方案。(

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值