#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define MAX_TREE_SIZE 100
typedef int Status;
typedef char TElemType;
typedef struct PTNode //结点结构
{
TElemType data;
int parent; //双亲位置域
}PTNode;
typedef struct //树结构
{
PTNode nodes[MAX_TREE_SIZE];
int r,n; //跟的位置和结点数
}PTree;
typedef PTree MFSet;
/*******************************声明部分****************************************/
Status find_mfset(MFSet S,int i);
//找集合S中i所在子集的根
Status merge_mfset(MFSet *S, int i,int j);
//S.nodes[i]和S.nodes[j]分别为S的互不相交的两个子集Si和Sj的根结点
//并求交集Si ∪ Sj
Status mix_mfset(MFSet *S,int i,int j);
//S.nodes[i]和S.nodes[j]分别为S的互不相交的两个子集Si和Sj的根结点
//并求交集Si ∪ Sj
int fix_mfset(MFSet *S,int i);
//确定j所在子集,并将从i至根路径上所有结点都编程根的孩子结点
Status CreateMFSet(MFSet *S);
//将创建如书上P135 图6.13 的树。
/**************
【数据结构】算法6.8-6.11 树与等价问题
最新推荐文章于 2024-05-18 07:49:33 发布
本文详细探讨了数据结构中的树及其在解决等价问题中的应用。通过对算法6.8到6.11的深入分析,揭示了树在解决复杂问题中的核心作用,帮助读者更好地理解和运用这些算法。
摘要由CSDN通过智能技术生成