作业1
1.写出该无向图的邻接矩阵
2.定义无向网络.
Definition 11.4 A undirected net is a tuple G = ( V , w ) G=(\mathbf{V},w) G=(V,w),where V \mathbf{V} V is the set of nodes,and w : V × V → R w:\mathbf{V}\times \mathbf{V}\rightarrow \mathbb{R} w:V×V→R is the weight function where w ( v i , v j ) w(v_i, v_j) w(vi,vj) is the weight of the edge ⟨ v i , v j ⟩ \lang v_i, v_j \rang ⟨vi,vj⟩ and ⟨ v j , v i ⟩ \lang v_j, v_i \rang ⟨vj,vi⟩.
作业2
1.自己画一棵树, 将其元组各部分写出来 (特别是函数 p).
T
=
(
V
,
r
,
p
)
;
T=(\mathbf{V},r,p);
T=(V,r,p);
V
=
{
v
0
,
v
1
,
v
2
,
v
3
,
v
4
,
v
5
,
v
6
,
v
7
,
v
8
}
;
\mathbf{V}=\{{v_0},{v_1},{v_2},{v_3},{v_4},{v_5},{v_6},{v_7},{v_8}\};
V={v0,v1,v2,v3,v4,v5,v6,v7,v8};
r
=
v
0
;
r={v_0};
r=v0;
p
(
v
0
)
=
ϕ
,
p
(
v
1
)
=
v
0
,
p
(
v
2
)
=
v
0
,
p
(
v
3
)
=
v
1
,
p
(
v
4
)
=
v
2
,
p
(
v
5
)
=
v
2
,
p
(
v
6
)
=
v
3
,
p
(
v
7
)
=
v
3
,
p
(
v
8
)
=
v
3
;
p({v_0})=\phi,p({v_1})={v_0},p({v_2})={v_0},p({v_3})={v_1},p({v_4})={v_2},p({v_5})={v_2},p({v_6})={v_3},p({v_7})={v_3},p({v_8})={v_3};
p(v0)=ϕ,p(v1)=v0,p(v2)=v0,p(v3)=v1,p(v4)=v2,p(v5)=v2,p(v6)=v3,p(v7)=v3,p(v8)=v3;
p
(
0
)
(
v
0
)
=
r
,
p
(
1
)
(
v
1
)
=
r
,
p
(
1
)
(
v
2
)
=
r
,
p
(
2
)
(
v
3
)
=
r
,
p
(
2
)
(
v
4
)
=
r
,
p
(
2
)
(
v
5
)
=
r
,
p
(
3
)
(
v
6
)
=
r
,
p
(
3
)
(
v
7
)
=
r
,
p
(
3
)
(
v
8
)
=
r
p^{(0)}({v_0}) = r,p^{(1)}({v_1}) = r,p^{(1)}({v_2}) = r,p^{(2)}({v_3}) = r,p^{(2)}({v_4}) = r,p^{(2)}({v_5}) = r,p^{(3)}({v_6}) = r,p^{(3)}({v_7}) = r,p^{(3)}({v_8}) = r
p(0)(v0)=r,p(1)(v1)=r,p(1)(v2)=r,p(2)(v3)=r,p(2)(v4)=r,p(2)(v5)=r,p(3)(v6)=r,p(3)(v7)=r,p(3)(v8)=r
2.针对该树, 将代码中的变量值写出来 (特别是 parent 数组).
n=9 # 节点数
root=0
parent=[-1,0,0,1,2,2,3,3,3]
作业3
1.画一棵三叉树, 并写出它的 child 数组.
child[9][3]
=
[
1
0
2
3
−
1
−
1
4
−
1
5
6
7
8
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
]
\text{child[9][3]}=\left[\begin{matrix} 1 & 0 &2 \\ 3 & -1 &-1 \\ 4 & -1 &5 \\ 6 & 7 &8 \\ -1 & -1 &-1 \\ -1 & -1 &-1 \\ -1 & -1 &-1 \\ -1 & -1 &-1 \\ -1 & -1 &-1 \end{matrix}\right]
child[9][3]=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡1346−1−1−1−1−10−1−17−1−1−1−1−12−158−1−1−1−1−1⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
2.按照本贴风格, 重新定义树. 提示: 还是应该定义 parent 函数, 字母表里面只有一个元素.
Let
ϕ
\phi
ϕ be the empty node, a tree is a triple
T
=
(
V
,
r
,
Σ
,
p
)
T=(\mathbf{V},r,\Sigma,p)
T=(V,r,Σ,p) where
-
V ≠ ∅ \mathbf{V} \neq\emptyset V=∅ is the set of nodes;
-
r ∈ V r \in \mathbf{V} r∈V is the root node;
-
Σ \Sigma Σ is the alphabet, Σ = { 0 } \Sigma=\{0\} Σ={0};
-
p : V × Σ ∗ → r p:\mathbf{V} \times \Sigma^{*} \rightarrow r p:V×Σ∗→r satisfying
- p ( r , s = ϕ ) p(r,s=\phi) p(r,s=ϕ)
- ∀ v ∈ V , ∃ 1 s ∈ Σ ∗ , s t . p ( v , s ) = r \forall v \in \mathbf{V},\exist1 s \in \Sigma^{*},st.p(v,s)=r ∀v∈V,∃1s∈Σ∗,st.p(v,s)=r
3.根据图、树、m-叉树的学习, 谈谈你对元组的理解.
当需要用不同类型元素描述时,可以用元组。元组中的的元素可以是集合、矩阵、函数、字母表等各种类型。在图中 G = ( V , E ) , G=(\mathbf{V},\mathbf{E}), G=(V,E),元素为集合;在树中 T = ( V , r , p ) T=(\mathbf{V},r,p) T=(V,r,p)元素类型包括集合、变量、函数;在m叉树中 B T = ( V , r , Σ , c ) BT=(\mathbf{V},r,\Sigma,c) BT=(V,r,Σ,c)元素类型还包括字母表。