- 15
- 0
- 约2.06千字
- 约 4页
- 2017-06-08 发布于重庆
- 举报
65树与等价问题
6.5树与等价问题 下图中,等价关系的一个有序对为 6,8 ,则s1和s2需要合并。
//
#define MAX_TREE_SIZE 100
Typedef struct PTNode
TElemType data; Int parent; //双亲位置域。
PTNode;
Typedef struct PTNode nodes[MAX_TREE_SIZE]; int n; //结点数。
PTree;
//
typedef PTree MFSet;
int find_mfset MFSet S,int i
//找集合S中i所在子集的根。 if i 1 || i S.n return -1; //i不属S中任一子集。
for j i;S.nodes[j].parent 0;j S.nodes[j].parent ;
return j;
// find_mfset
Status merge_mfset MFSet S,int i,int j
//S.nodes[i]和S.nodes[j]分别为S的互不相交的两个子集Si和Sj的根结点。
//求并集Si∪Sj. if i 1 || i S.n || j 1 || j S.n reurn ERROR;
S.nodes[i].parent j;
return OK;
//merge_mfset
//为解决下图并操作结果树过深,修改并函数。
//修改存储结构:根节点的parent域存储子集中所含成员数目的负值。
void mix_mfset MFSet S,int i,int j
//S.nodes[i]和S.nodes[j]分别为S的互不相交的两个子集Si和Sj的根结点。
//求并集Si∪Sj. if i 1 || i S.n || j 1 || j S.n
return ERROR;
if S.nodes[i].parent S.nodes[j].parent //Si所含成员数比Sj少。
S.nodes[j].parent+ S.nodes[i].parent;
S.nodes[i].parent j;
//if S.nodes[i].parent S.nodes[j].parent
else S.nodes[i].parent+ S.nodes[j].parent;
S.nodes[j].parent i;
// else_if S.nodes[i].parent S.nodes[j].parent
return OK;
// mix_mfset
例6-1:假设集合S x|1≤x≤n是正整数 ,R是S上的一个等价关系。 R (1,2),(3,4),(5,6),(7,8),(1,3),(5,7),(1,5),... 现求S的等价类。
//修改find_mfset函数,查找同时压缩路径。
int fix_mfset MFSet S,int i
//确定i所在子集,并将从i至根路径上所有节点都变成根的孩子节点。 if i 1 ||i S.n return -1; //i不是S中任一子集的成员。
for j i;S.nodes[j].parent 0;j S.nodes[j].parent ;
for k i;k! j;k t t S.nodes[k].parent;S.nodes[k].parent j; return j;
// fix_mfset
s1∪s2∪s3
2
3
s1∪s2
1
s1∪s2...∪sn
1
2
1
Sn
n
...
S1
S3
S2
6
9
3
S3 s1∪s2
8
10
1
S2
2
10
9
3
1
8
2
S1
6
2
1
3
n-1
n
. . .
. . .
n个集合
“并”操作
n
...
9
8
7
6
4
3
9
8
7
6
5
3
5
2
1
4
...
n
2
1
a压缩路径之前
b压缩路径之后
R的下一个有序对为(8,9),执行fix_mfset(s,8)前后对比
S.nodes
MIX S,5,6
-1
-1
7
-2
5
-2
MIX S,1,2
MIX S,3,4
3
-1
…
-1
-1
-1
-1
-1
-1
-1
-1
-1
9
8
7
6
5
4
3
2
1
MIX S,7,8
-2
1
n
9
8
7
6
5
4
3
2
MIX S,1,3
MIX S,5,7
n
…
S.nodes
-2
1
-1
-1
7
5
5
-4
3
1
1
n
9
8
7
6
5
4
3
2
MIX S,1,5
…
S.nodes
-4
1
-1
-1
7
5
5
1
3
1
1
n
9
8
7
6
5
4
3
2
等价关系的一个有序对为 6,8 ,则
您可能关注的文档
最近下载
- 2026年高考全国II卷文科综合真题试卷(新课标卷)(+答案).docx VIP
- 安路科技(688107)补国产短板,突高端应用,拓新应用与技术大市场-240717-东北证券-38页.pdf VIP
- [搞笑小品剧本]上当了小品剧本.docx VIP
- 全国初中数学联合竞赛真题及答案(初二组)2015-年.pdf VIP
- 数据中心800V直流供电技术白皮书2.0.pdf
- 上海大学2022-2023学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 上海大学2022-2023学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 中国教育行业人才流动与薪酬水平_2025年12月.docx
- 2024全国初中数学联赛初二卷 .pdf VIP
- AIAG-VDA-SPC手册-Yellow-Volume2026年2月第一版 中文.pdf VIP
原创力文档

文档评论(0)