问题标题:
离散数学中如何判断一个数列是不是无向简单图的度数列
问题描述:
离散数学中如何判断一个数列是不是无向简单图的度数列
乐毓俊回答:
这是一个很经典的问题。
这个问题叫“graphrealization”问题,解决的算法叫“HavelHakimi”算法。
你可以搜索上面那2个英文,其实算法很简单,几句话就能说清楚。
首先,将度数从大到小排序:
关键是下面这个定理(当然这个定理需要证明,这里略):
原度数序列能构成图,当且仅当将度数最大的点v1,与除v1外度数最大的d1个点分别连一条边后,剩下的度数序列能构成图。也就是:
能构成图,当且仅当:
能构成图。
这样就把n个顶点的问题,转化为n-1个顶点的问题。
如此做下去,可以继续转化为n-2、n-3、……个顶点的问题。
如果能构成图,最后的结果是个全零的向量。除此之外,都是不能构成图的,比如某一步时:某个度数为负、或是d1的值大于剩余顶点的个数,等等。。。
点击显示
数学推荐
热门数学推荐