图的可视化问题、havel-hakimi算法、Erdős–Gallai定理
简单无向图的可视化问题:
给定一个度数序列D={ a1......an},a⊂Z+,aiD=\{a_1......a_n\},a\subset Z^+,a_iD={ a1......an},a⊂Z+,ai表示iii号点在某个简单无向图中的度数,问是否有一个简单无向图满足这个给定的度数序列DDD,若有,构造一个,称其为DDD的可视化
havel−hakimihavel-hakimihavel−hakimi算法:
给出一个DDD并构造简单无向图的方法:
将D(xD(xD(x从大到小排序,使ap1≥......≥apna_{p_1}\ge......\ge a_{p_n}ap1≥......≥apn,我们从p1p_1p1号点向p2,p3......pap1+1p_2,p_3......p_{a_{p_1}+1}p2,p3......pap1+1号点分别连边,然后p1p_1p1的度数限制已经满足,新的序列{ sort{ ap2−1......apap1+1−1......apn}}\{sort\{a_{p_2}-1......a_{p_{a_{p_1}+1}}-1......a_{p_n}\}\}{ sort{ ap2−1......apap1+1−1......apn}}记为D ′D^{\ '}D ′,(sort{ }sort\{\}sort{ }表示按照下标重新排回原来的顺序,虽然可视化的判定与序列元素的顺序无关,但这样更加直观),继续对D ′D^{\ '}D ′进行上述操作,重复nnn次直到序列为空,若某次操作出现了非法(如某个元素变为负数),即为原序列不能可视化,证明见下。
havel−hakimihavel-hakimihavel−hakimi定理:DDD能可视化(1)↔D ′\leftrightarrow D^{\ '}↔D ′能可视化(2)
证明:(2)→\rightarrow→(1):若(2)成立,按照上文的方法给111号点连边,则(1)成立。
(1)→\rightarrow→(2):若(1)成立,找到使(1)成立的任意一张简单无向图GGG,讨论如下:
(i):将GGG的点的度数由大到小排序后,若p1p_1p1节点相邻的点分别为p2,p3......pap1+1p_2,p_3......p_{a_{p_1}+1}p2,p3......pap1+1,则将这个点和这些边删掉,易知(2)成立。
(ii):若∃pi⊂{ p2,p3......pap1+1},edge(p1,pi) isn′t exist\exist p_i\subset \{p_2,p_3......p_{a_{p_1}+1}\},edge(p_1,p_i) \ isn't\ exist∃pi⊂{ p2,p3......pap1+1},edge(p1,pi) isn′t exist 则∃pj,j>ap1+1,edge(p1,pj) exist\exist p_j,j>a_{p_1}+1,edge(p_1,p_j)\ exist∃pj,j>ap1+1,edge(p1,pj) exist
则,api≥apj,∃k,edge(k,pj) isn′t exist,edge(k,pi) exista_{p_i}\ge a_{p_j},\exist k,edge(k,p_j)\ isn't\ exist,edge(k,p_i)\ existapi