树根c语言,03-树1 树的同构 (C语言链表实现)
#include
#include
#include
#include
typedef char ElemType;
typedef struct BinTree
{
ElemType data;
struct BinTree *left;
struct BinTree *right;
}BinTree;
bool TreeCmp(BinTree * a, BinTree * b); //判断a树与b树是否同构
BinTree * BinTree_new(int n);
int main()
{
int n;
scanf("%d", &n);
BinTree * a = BinTree_new(n);
scanf("%d", &n);
BinTree * b = BinTree_new(n);
bool flag = TreeCmp(a, b);
if (flag)
printf("Yes");
else
printf("No");
;
}
BinTree * BinTree_new(int n)
{
)
{
return NULL;
}
else
{
int i, li, ri;
ElemType c, lc, rc;
BinTree * T = (BinTree *)malloc(n * sizeof(BinTree));
bool *head = (bool *)malloc(n * sizeof(bool));
memset(head, true ,sizeof(head));
; i < n ; ++i )
{
scanf(" %c %c %c", &c, &lc, &rc);
li = lc-';
ri = rc-';
T[i].data = c;
if (lc != '-')
{
T[i].left = &T[li];
head[li] = false;
}
else
T[i].left = NULL;
if (rc != '-')
{
T[i].right = &T[ri];
head[ri] = false;
}
else
T[i].right = NULL;
}
//寻找树的树根(树根没有其它的结点指向它)
; i < n ; ++i )
if (head[i] == true)
break;
free(head);
return &T[i];
}
}
bool TreeCmp(BinTree * a, BinTree * b)
{
if (a == NULL && b == NULL)//两棵树都为空
return true;
if (a == NULL || b == NULL)//有一棵树为空
return false;
if (a->data != b->data)//树结点的值不相等
return false;
if (a->left == NULL && b->left == NULL)//两棵树的左子树都为空
return TreeCmp(a->right, b->right);//就比较右子树
//两棵树的左子树都不为空,且两个值相等就比较两棵树的子树
if (a->left != NULL && b->left != NULL &&(a->left->data == b->left->data))
return (TreeCmp(a->left,b->left)&&TreeCmp(a->right,b->right));
//交换后再比较
else
return (TreeCmp(a->left,b->right)&&TreeCmp(a->right,b->left));
}
小白专场-树的同构-c语言实现.md
目录 一.题意理解 二.求解思路 2.1 二叉树表示 2.2 程序框架搭建 2.3 如何建二叉树 2.4 如何判别两二叉树同构 更新.更全的的更新网站,更有python. ...
【查找结构5】多路查找树/B~树/B+树
在前面专题中讲的BST.AVL.RBT都是典型的二叉查找树结构,其查找的时间复杂度与树高相关.那么降低树高自然对查找效率是有所帮助的.另外还有一个比较实际的问题:就是大量数据存储中,实现查询这样一个实 ...
9-11-Trie树/字典树/前缀树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第9章 查找 - Trie树/字典树/前缀树(键树) ——-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ (严蔚 ...
HTTP协议漫谈 C#实现图(Graph) C#实现二叉查找树 浅谈进程同步和互斥的概念 C#实现平衡多路查找树(B树)
HTTP协议漫谈 简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲 ...
Tire树(字典树)
from:https://www.cnblogs.com/justinh/p/7716421.html Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,P ...
BZOJ 3110: [Zjoi2013]K大数查询 [树套树]
3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 6050 Solved: 2007[Submit][Sta ...
BZOJ4170 极光(CDQ分治 或 树套树)
传送门 BZOJ上的题目没有题面-- [样例输入] 3 5 2 4 3 Query 2 2 Modify 1 3 Query 2 2 Modify 1 2 Query 1 1 [样例输出] 2 3 3 ...
bzoj3262: 陌上花开(树套树)
#include #include #include #include #i ...
bzoj3295: [Cqoi2011]动态逆序对(树套树)
#include #include #include #include #i ...
随机推荐
Trapping Rain Water
Given n non-negative integers representing an elevation map where the width of each bar is 1, comput ...
@ControllerAdvice
@ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强.让我们先看看@ControllerAdvice的实现: @Target(ElementTyp ...
基于.net mvc的校友录(三、实体模型实现)
实体模型设计 由于是实际开发,而且是时间比较紧的,所以,在开发实现过程中,总有一些对原计划的改动: AlumniBookModel数据库实体模型 这是主数据实体类,EF会根据此实体生成数据库,它的每一 ...
android 点击重新加载界面设计
在项目中经常会遇到这样的场合,用户点击了一个界面后要提示等待加载,最后有可能显示加载失败,点击屏幕再重试加载.下面是该实例的代码: layout: loading.xml <?xml versi ...
绑定下拉框时避免触发SelectedIndexChanged事件
在从数据库读取数据集绑定到下拉框时会立即触发其SelectedIndexChanged事件造成异常,可对其SelectedIndexChanged事件采取先解除后附加的方法解决. cmbXl_gt.V ...
Qt编程之实现在QFileDialog上添加自定义的widget
上网搜索找到的方法如下: http://www.qtforum.org/article/20841/how-to-add-a-qwidget-in-qfiledialog.html#post78422 ...
Oracle闪回详解
1.问题定义 闪回是dba做的工作.现在也可授权给某个用户. 闪回的定义:就是将用户错误的操作回恢到以前的状态.即使你的事务提交的commit. 如果你删除了一个表.Drop table(DDL) ...
OOP的五大原则
一:单一职责原则. 含义一方面是避免相同的职责分散到不同的类中:另一方面避免一个类承担太多职责. 二:接口隔离原则. 一个类对另一个类的依赖性应当建立在最小的接口上的. 就是定制化服务设计的原则. 三 ...
kivy 使用webview加载网页
from kivy.app import App from kivy.uix.widget import Widget from kivy.clock import Clock from jnius ...
树根c语言,03-树1 树的同构 (C语言链表实现)相关推荐
- R语言绘制带聚类树的堆叠柱形图
R语言绘制带聚类树的堆叠柱形图 聚类树与柱形图结合,即可反映样本或分组间的相似性,又能展示样本内的元素组成信息. 例如下图是一个在扩增子测序微生物群落分析中常见的统计图类型,在测序公司给的报告中通常都 ...
- 数据结构源码笔记(C语言):Huffman树字符编码
#include <stdio.h> #include<string.h> #define N 10 /*待编码字符的个数,即树中叶结点的最大个数*/ #define M 2* ...
- 数据结构源码笔记(C语言):B树的相关运算算法
//B树的相关运算算法#include<stdio.h> #include<malloc.h>#define MAXM 10//定义B树最大的阶数 typedef int Ke ...
- Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现
Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树.二叉查找树的插入节点.二叉查找树的删除.二叉树的遍历.平衡二叉树)C++语言实现 目录 树的基础知识 1.二叉树的遍-前序 ...
- c语言利用遍历求树高的程序,用C语言实现二叉树的遍历极其应用
用C语言实现二叉树的遍历极其应用 [1][摘要]:<数据结构>是计算机系学生的一门专业技术基础课程,计算机科学各领域及有关的应用软件都要用到各种数据结构.C语言有较丰富的数据类型.运算符以 ...
- 基于B树的图书管理系统(C语言)(含完整代码)
目录: 一.实现的设计要求 1.基本要求 2.额外选做要求 二.项目文件管理 三.完整代码 1.实现的接口 2.头文件 BTreeBook.h 全部代码 3.源文件 BTreeBook.cpp 全部代 ...
- C语言实现“勾股树”——毕达哥拉斯树
序 将所以的烦恼搓成几缕无须羁绊的情绪,抛之脑后~ 嗨!这里是狐狸~ 今天给大家带来了一个'勾股树'--毕达哥拉斯树! 毕达哥拉斯树(Pythagoras tree)是由毕达哥拉斯根据勾股定理所画出来 ...
- 数据结构(C语言版)严蔚敏(树、二叉树的相关概念笔记)
数据结构(C语言版)严蔚敏(树的相关概念笔记) 1. 树中一个节点的孩子个数称为该节点的度,树中节点的最大度数称为树的度: 2. 度大于0的节点称为[分支节点](非终端节点),度为0的节点称为[叶子节 ...
- python星号倒金字塔结构_2020智慧树西安外国语大学网课Python语言应用见面课答案...
发布时间:2020-6-5 详细信息 2020智慧树西安外国语大学网课Python语言应用见面课 查题解析参考,同时提供大学网课,选修课,外语类,财会类,建筑类,职业资格,,类,外贸类,计算机类等:是 ...
- C语言哈夫曼树压缩/解压器
C语言哈夫曼树压缩/解压器 小编是大一的菜鸡,这个题目是数据结构的一个实验题,为了完成这个作业,查找了各种资料,借鉴了很多人的代码,前后折腾了三天左右.代码可能跟网上的不一样,大佬路过请不要踩我. 温 ...
最新文章
- mSystems:华中农大郝秀丽组发现稀有/丰富微生物类群对镉污染土壤改良剂的不同反应!...
- 【JUC并发编程04】线程间定制化通信(单标志法存在的问题)
- wxWidgets:wxStdOutputStreamBuffer类用法
- Java中的事务——JDBC事务和JTA事务
- 一些常用且实用的原生 JavaScript函数[转]
- python spacy [E050] Can't find model 'en_core_web_sm'
- 3D中obj文件操作
- RPC应用的java实现
- matlab函数mapminmax,Matlab的mapminmax函数说明[转]
- 拼多多数据分析工具有哪些?拼多多数据分析工具介绍
- 大连海事计算机学硕分数线,大连海事大学2019年考研复试分数线预测
- 校招经历-java开发面试题
- Android仿人人客户端(v5.7.1)开发(不错)
- 宏碁服务器u盘装系统,宏基u盘装系统教程图解
- 微信公众号自定义模板内容换行
- react(子传父、父传子)
- 【拼多多校招】最大乘积的简单方法
- Java编程学习-枚举
- webpack的基本使用03
- WSL(Ubuntu20.04)与其图形界面安装配置
热门文章
- X264编码流程详解(转)
- android游戏开发学习笔记三(学习书籍 Android游戏编程之从零开始)
- Big Data, Hadoop and StreamInsight™
- 3.7python怎么安装清屏_python3.7中怎么清屏
- 一篇文章熟悉ubuntu desktop指南
- 【Android工具】远程登录会话工具免费好用的SSH客户端——JuiceSSH
- 降息大法好!银行4.35%消费贷了解一下?
- 【强化学习】Q-Learning
- 雷达篇(九)雷达中的“快采样”和“慢采样”
- 《C语言及程序设计》程序阅读——文件操作