【数据结构】算法6.8-6.11 树与等价问题

#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 的树。
/**************
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值