2021-08-02

图与网络

写出该无向图的邻接矩阵
在这里插入图片描述

该无向图的邻接矩阵为: E = [ 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 ] \mathbf{E}=\begin{bmatrix}0&1&1&1\\1&0&1&0\\1&1&0&1\\1&0&1&0\end{bmatrix} E=0111101011011010

定义无向网络

Definition An undirected net is a tuple G = ( V , w \mathbf{V} ,w V,w ), where V \mathbf{V} V is the set of nodes, and w : V × V → R w: \mathbf{V} \times \mathbf{V} \to \mathbb{R} w:V×VR is the weight function where w ( v i , v j ) w(v_i, v_j) w(vi,vj) is the weight of the edges ( v i , v j ) (v_i,v_j) (vi,vj)and ∀ ( v i , v j ) ⊆ V × V , w ( v i , v j ) = w ( v j , v i ) \forall(v_i,v_j)\subseteq\mathbf{V}\times\mathbf{V},w(v_i,v_j)=w(v_j,v_i) (vi,vj)V×V,w(vi,vj)=w(vj,vi).

12.4 作业
1.自己画一棵树, 将其元组各部分写出来 (特别是函数 p ).
2.针对该树, 将代码中的变量值写出来 (特别是 parent 数组).

在这里插入图片描述
V = { B , C , D , E , F } \mathbf{V}=\{\mathrm{B,C,D,E,F}\} V={B,C,D,E,F}
r = B ∈ V r=\mathrm{B}\in\mathbf{V} r=BV
p 0 ( D ) = D , p 1 ( D ) = C , p 2 ( D ) = B = r p^0(\mathrm{D})=\mathrm{D},p^1(\mathrm{D})=\mathrm{C},p^2(\mathrm{D})=\mathrm{B}=r p0(D)=D,p1(D)=C,p2(D)=B=r
p 0 ( E ) = E , p 1 ( E ) = C , p 2 ( E ) = B = r p^0(\mathrm{E})=\mathrm{E},p^1(\mathrm{E})=\mathrm{C},p^2(\mathrm{E})=\mathrm{B}=r p0(E)=E,p1(E)=C,p2(E)=B=r
p 0 ( F ) = F , p 1 ( F ) = C , p 2 ( F ) = B = r p^0(\mathrm{F})=\mathrm{F},p^1(\mathrm{F})=\mathrm{C},p^2(\mathrm{F})=\mathrm{B}=r p0(F)=F,p1(F)=C,p2(F)=B=r

public class Tree {
	/**
	 * 节点数. 表示节点 v_0 至 v_{n-1}.
	 */
	int n=5;
	
	/**
	 * 根节点. 0 至 n-1.
	 */
	int root;
	
	/**
	 * 父节点.
	 */
	int[] parent;

	/**
	 * 构造一棵树, 第一个节点为根节点, 其余节点均为其直接子节点, 也均为叶节点.
	 */
	public Tree(int paraN) {
		n = paraN;
		parent = new int[n];
		parent[0] = -1; // -1 即 \phi
	}// Of the constructor
}//Of class Tree

代码中三个变量分别为:
节点数 n = 10; 即 V = { B , C , D , E , F } = { v 0 , v 1 , … , v 4 } \mathbf{V} = \{ \mathrm{B,C,D,E,F} \} = \{ v_0, v_1, \dots, v_4 \} V={B,C,D,E,F}={v0,v1,,v4}
m根结点 root = v 0 = B v_0 = \mathrm{B} v0=B
parent函数 p = [-1, 0, 1, 1.1]
M叉树

1.画一棵三叉树, 并写出它的 child 数组.
2.按照本贴风格, 重新定义树. 提示: 还是应该定义 parent 函数, 字母表里面只有一个元素.
3.根据图、树、 m mm-叉树的学习, 谈谈你对元组的理解.

三叉树
在这里插入图片描述
由于矩阵一共有 5 个节点,且是三叉树,这个矩阵的 child 矩阵应该为一个 10 × 3 10\times 3 10×3 的矩阵,根据树的形状以及节点位置,这棵三叉树的child矩阵应该写成:
[ 1 − 1 − 1 2 3 4 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 − 1 ] \begin{bmatrix}1&-1&-1\\2&3&4\\-1&-1&-1\\-1&-1&-1\\-1&-1&-1\end{bmatrix} 121111311114111
2.

  • 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}\neq\emptyset V=is the set of nodes;
  • r ∈ V r\in\mathbf{V} rV is the root node;
  • Σ \Sigma Σ is the alphabet;
  • p : V ∪ { ϕ } → V ∪ { ϕ } p:\mathbf{V}\cup\{\phi\}\to\mathbf{V}\cup\{\phi\} p:V{ϕ}V{ϕ}is the parent mapping satisfying
  • p ( r ) = ϕ p(r)=\phi p(r)=ϕ;
  • ∀ v ∈ V , ∃ 1 s ∈ Σ ∗ s t . p ( v , s ) = r ; \forall{v}\in\mathbf{V},\exists 1 s\in \Sigma^* st.p(v,s)=r; vV,1sΣst.p(v,s)=r;

3.在以往的理解中,元组其实就是对一个待描述的事物建模,将待描述的事物的各个部分,也就是属性包括在一个元组中,就可以将某个抽象的事物描述清楚。其中的每个属性既可以是一个集合, 也可以是一个基本元素。
以“图”为例,我们说这个图是一个二元组,其实是在说一个图由两个因素——节点还有方向确定。
那么对于“树”来说,这个元组中包含有节点的集合,根结点,以及parent函数关系。
“m mm-叉树”与“树”类似,它的元组中包含有节点的集合,根结点,字母表以及child函数关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值