算法导论B.4 Exercises 答案

B.4-1

假设有函数\(f(u,v)\)如下:如果\(u\)\(v\)握过手,那么\(f(u,v)=1\),否则\(f(u,v)=0\)

握手关系是对称的,不难发现\(f(u,v)=f(v,u)\),因此\(f(u,v)+f(v,u)\in\{0,2\}\)

因此有\(\displaystyle{\sum_{u=1}^n\sum_{v=1}^nf(u,v)=2|E|}\)

根据度数的定义,有\(\displaystyle{\text{degree}(u)=\sum_{v=1}^n f(u,v)}\)

那么最终有:

\[\sum_{u=1}^n \text{degree}(u)=\sum_{u=1}^n\sum_{v=1}^n f(u,v)=2|E|\]

B.4-2

假设顶点\(u,v\)之间存在路径\(\langle v_0,v_1,v_2,\dots,v_k \rangle\),其中\(v_0=u,v_k=v\),那么:

如果\(\exists i,j,0\le i< j\le k,v_i=v_j\)成立,那么可以通过一次操作构造出一条新的路径:

\(\langle v_0,v_1,v_2,\dots,v_{i-1},v_{\mathbf{i}},v_{\mathbf{j+1}},v_{j+2},\dots,,v_k \rangle\)

可以发现,这条新路径的长度比原来缩短了\(j-i\)。由于路径长度的长度总是有限的,因此经过有限次操作后,将有\(\nexists i,j,0\le i< j\le k,v_i=v_j\)。那么此时也就获得了一条顶点\(u,v\)之间的简单路径。

类似的,如果有向图中存在环\(\langle v_0,v_1,v_2,\dots,v_k \rangle\),其中\(v_0=v_k\),那么:

  • 如果\(\exists i,0< i< k,v_i=v_0\)成立,那么可以构造出一个新的环:

    \(\langle v_0,v_1,v_2,\dots,v_{\mathbf{i}} \rangle\)

    可以发现,这个新环的长度比原来缩短了\(k-i\)

  • 否则,如果\(\exists i,j,0< i< j< k,v_i=v_j\)成立,那么可以构造出一个新的环:

    \(\langle v_0,v_1,v_2,\dots,v_{i-1},v_{\mathbf{i}},v_{\mathbf{j+1}},v_{j+2},\dots,,v_k \rangle\)

    可以发现,这个新环的长度比原来缩短了\(j-i\)

同样,由于环的长度也是有限的,因此经过有限次操作后,以上的两个如果将不复存在,那么也就得到了一个简单环。

B.4-3

考虑使用数学归纳法证明。

假设\(|V|=n\)

\(n=1\)时,图中不需要任何边即为连通图,因此\(|E|\ge |V|-1\)成立。

\(n>1\)时,假设此图\(G=(V,E)\)已经满足\(|E|\ge |V|-1\),那么考虑新图\(G'=(V\cup \{v_{n+1}\},E)\),那么发现\(G'\)并非是连通的。要使得\(G'\)联通,必须要在顶点集\(|V|\)中,指定至少一个顶点与\(v_{n+1}\)关联。因此有\(|E|+1\ge |V+\{v_{n+1}\}|-1\)成立,指定的定点数为新添加的边数。那么添加了新边后,边集\(E'\)\(|E'|\ge |E|+1\)

\(V'=V\cup \{v_{n+1}\}\),那么性质\(|E'|\ge |V'|-1\)仍然保持。

B.4-4

首先需要证明这种“可达”关系满足自反性,对称性和传递性。

自反性:对于任意一个节点,它肯定存在长度为\(0\)的路径(从自己走到自己)。因此满足自反性。

对称性:如果从\(u\)\(v\)存在可达路径\(\langle u,v_1,v_2,\dots,v \rangle\),那么从\(v\)\(u\)也存在可达路径\(\langle v,v_k,v_{k-1},\dots,u \rangle\)。因此满足对称性。

传递性:如果从\(u\)\(v\)存在可达路径\(\langle u,v_1,v_2,\dots,v \rangle\),并且从\(v\)\(w\)存在可达路径\(\langle v,v_1',v_2',\dots,w \rangle\),那么从\(u\)\(w\)也存在可达路径\(\langle u,v_1,v_2,\dots,v ,v_1',v_2',\dots,w\rangle\)。因此满足传递性。

因此,“可达”关系对于图中的顶点是等价关系。

自反性,对称性和传递性都需要满足。

B.4-5

B.4-6

假设超图的顶点集合为\(V\),超边集合为\(E\),考虑构造一个新图\(G=(V\cup E,E')\)。那么对于任何一条超边\(e\in E\)和任意一个节点\(v \in V,(v,e)\in E'\)当且仅当节点\(v\)\(e\)所关联。

那么根据题目中对这个点和边关联的定义,\(\nexists v_1,v_2\in V,(v_1,v_2)\in E',\nexists e_1,e_2\in E,(e_1,e_2)\in E'\)。因此\(G\)中的所有节点可以划分成两部分:\(V\)\(E\)。故\(G\)是一个二分图。