1. 写出下面无向图的邻接矩阵。
答:邻接矩阵
E
=
[
0
1
1
1
1
0
1
0
1
1
0
1
1
0
1
0
]
\mathbf{E} = \left[\begin{matrix} 0 & 1 & 1 & 1 \\ 1 & 0 &1 & 0 \\ 1 & 1 & 0 & 1 \\ 1 & 0 & 1 & 0 \end{matrix}\right]
E=⎣⎢⎢⎡0111101011011010⎦⎥⎥⎤.
2. 定义无向网络。
答:An undirected net is a tuple
G
=
(
V
,
w
)
G = (\mathbf{V}, w)
G=(V,w), where
V
\mathbf{V}
V is a set of nodes, and
w
:
V
×
V
→
R
w: \mathbf{V \times V} \to \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
)
(v_i, v_j)
(vi,vj) satisfying
∀
v
i
,
v
j
∈
V
\forall v_i, v_j \in \mathbf{V}
∀vi,vj∈V,
w
(
v
i
,
v
j
)
=
w
(
v
j
,
v
i
)
w(v_i, v_j) = w(v_j, v_i)
w(vi,vj)=w(vj,vi).
3. 自己画一棵树, 将其元组各部分写出来 (特别是函数 p p p ).
答:对于上树,结点集合
V
=
{
v
1
,
v
2
,
v
3
,
v
4
,
v
5
}
\mathbf{V} = \{\rm v1, v2, v3, v4, v5\}
V={v1,v2,v3,v4,v5},根结点
r
=
v
1
r = \rm v1
r=v1,
函数
p
:
{
v
1
,
v
2
,
v
3
,
v
4
,
v
5
}
→
{
ϕ
,
v
1
,
v
2
,
v
3
,
v
4
,
v
5
}
p: \{\rm v1, v2, v3, v4, v5\} \to \{\phi, \rm v1, v2, v3, v4, v5\}
p:{v1,v2,v3,v4,v5}→{ϕ,v1,v2,v3,v4,v5},
p
(
v
1
)
=
ϕ
p(\rm v1) = \phi
p(v1)=ϕ,
p
(
v
2
)
=
p
(
v
3
)
=
v
1
p(\mathrm{v2}) = p(\mathrm{v3}) = \rm v1
p(v2)=p(v3)=v1,
p
(
v
4
)
=
p
(
v
5
)
=
v
3
p(\mathrm{v4}) = p(\mathrm{v5}) = \rm v3
p(v4)=p(v5)=v3.
4. 针对上树, 将代码中的变量值写出来 (特别是 parent 数组).
答:将上树节点
v
1
\rm v1
v1 至
v
5
\rm v5
v5 分别映射为
0
0
0 到
4
4
4,则节点数
n
=
5
n = 5
n=5,根节点
r
o
o
t
=
0
root = 0
root=0,父节点数组
p
a
r
e
n
t
=
[
−
1
,
0
,
0
,
2
,
2
]
\mathbf{parent} = [-1, 0, 0, 2, 2]
parent=[−1,0,0,2,2].
5. 画一棵三叉树, 并写出它的 child 数组.
答:
c
h
i
l
d
=
[
4
3
2
−
1
−
1
−
1
6
−
1
5
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
−
1
]
\mathbf{child} = \left[\begin{matrix} 4 & 3 & 2 \\ -1 & -1 & -1 \\ 6 & -1 & 5 \\ -1 & -1 & -1 \\ -1 & -1 & -1 \\ -1 & -1 & -1 \end{matrix}\right]
child=⎣⎢⎢⎢⎢⎢⎢⎡4−16−1−1−13−1−1−1−1−12−15−1−1−1⎦⎥⎥⎥⎥⎥⎥⎤.
6. 按照本贴风格, 重新定义树. 提示: 还是应该定义 parent 函数, 字母表里面只有一个元素.
答:Let ϕ \phi ϕ be the empty node, a tree is a quadruple T = ( V , r , Σ , p ) T=(\mathbf{V}, r, \Sigma, p) T=(V,r,Σ,p) where
- V \mathbf{V} V is the set of nodes;
- r ∈ V r \in \mathbf{V} r∈V is the root node;
- Σ \Sigma Σ is a alphabet, Σ = { u } \Sigma = \{\mathrm{u}\} Σ={u};
-
p
:
V
×
Σ
∗
→
V
∪
{
ϕ
}
p: \mathbf{V} \times \Sigma^* \to \mathbf{V} \cup \{\phi\}
p:V×Σ∗→V∪{ϕ} satisfying
-
∀
v
∈
V
\forall v \in \mathbf{V}
∀v∈V,
∃
!
s
∈
Σ
∗
\exist ! s \in \Sigma^*
∃!s∈Σ∗, s.t.
p
(
v
,
s
)
=
r
p(v, s) = r
p(v,s)=r.
-
∀
v
∈
V
\forall v \in \mathbf{V}
∀v∈V,
∃
!
s
∈
Σ
∗
\exist ! s \in \Sigma^*
∃!s∈Σ∗, s.t.
p
(
v
,
s
)
=
r
p(v, s) = r
p(v,s)=r.
7. 根据图、树、 m m m-叉树的学习, 谈谈你对元组的理解.
答:通过对图、树、 m m m-叉树的学习,可以看出元组非常的强大,尤其是在定义上,它能够将不同的类型,比如,集合、变量和函数等,放在同等位置上进行定义,可以抽象问题,表示复杂的结构等,具有较强的概括性。