2021-08-02

0802-1

定义无向网络

An 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} \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 arc ⟨ v i , v j ⟩ \langle v_i,v_j \rangle vi,vjand ⟨ v j , v i ⟩ \langle v_j,v_i \rangle vj,vi.

0802-2

自己画一棵树, 将其元组各部分写出来 (特别是函数 p p p).

在这里插入图片描述
T = ( V , r , p ) T=(\mathbf{V},r,p) T=(V,r,p).
V = { v 1 , v 2 , v 3 , v 4 , v 5 , v 6 } \mathbf{V}=\{v_1,v_2,v_3,v_4,v_5,v_6\} V={v1,v2,v3,v4,v5,v6}.
r = v 1 r=v_1 r=v1.
p : V → V ∪ { ϕ } p:\mathbf{V} \rightarrow \mathbf{V} \cup \{\phi\} p:VV{ϕ} is the parent mapping satisfying

  • p ( r ) = ϕ p(r)=\phi p(r)=ϕ;
  • ∀ v ∈ V , ∃ 1 n ≥ 0 , s t . p ( n ) ( v ) = r \forall v \in \mathbf{V}, \exist 1 n \ge 0, st. p^{(n)}(v) = r vV,1n0,st.p(n)(v)=r.

针对该树, 将代码中的变量值写出来 (特别是parent数组).

public class Tree {
	/**
	 * 节点数. 表示节点 v_0 至 v_{n-1}.
	 */
	int n;
	
	/**
	 * 根节点. 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=6;
  • root=1;
  • parent[ ]= { − 1 , 0 , 1 , 1 , 1 , 2 , 4 } \{-1,0,1,1,1,2,4\} {1,0,1,1,1,2,4}.

0802-3

画一棵三叉树, 并写出它的 child 数组.

以上图为例.
child[ ][ ]= { { 2 , 3 , 4 } , { 5 , − 1 , − 1 } , { − 1 , − 1 , − 1 } , { 6 , − 1 , − 1 } , { − 1 , − 1 , − 1 } , { − 1 , − 1 , − 1 } } \{\{2,3,4\},\{5,-1,-1\},\{-1,-1,-1\},\{6,-1,-1\},\{-1,-1,-1\},\{-1,-1,-1\}\} {{2,3,4},{5,1,1},{1,1,1},{6,1,1},{1,1,1},{1,1,1}}.

按照本贴风格, 重新定义树. 提示: 还是应该定义 parent 函数, 字母表里面只有一个元素.

tree is a quadruple T = ( Σ , V , r , f ) T=(\Sigma, \bm{V}, r, f) T=(Σ,V,r,f), where
a) Σ = { 1 } \Sigma=\{1\} Σ={1} is the alphabet;
b) V = { v 1 , … , v n } \bm{V}=\{v_1,\ldots,v_n\} V={v1,,vn} is the set of nodes;
c) r ∈ V r \in \bm{V} rV is the root node;
d) ϕ \phi ϕ is the empty node;
e) f : V × Σ ∗ → V ∪ { ϕ } \bm{V} \times \Sigma^* \to \bm{V}\cup\{\phi\} V×ΣV{ϕ} satisfying

  • ∀ v ∈ V , ∃ 1   s ∈ Σ ∗   s t . f ( v , s ) = r \forall v\in\bm{V},\exists1 \,s∈\Sigma^∗ \,st. f ( v , s ) = r vV,1sΣst.f(v,s)=r.
  • f ( r , s ) = ϕ f(r,s)=\phi f(r,s)=ϕ

根据图、树、m mm-叉树的学习, 谈谈你对元组的理解.

  • 元组可以是包含多种数据结构,甚至还可以是集合或者是函数.
  • 元组是可以重复的.
  • 成员不可直接修改.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值