数据结构树的基本操作_树的各类基本操作(数据结构)

#include "iostream"

/*

输入:ABC DE G F

ABC DE G F

*/

#include "bits/stdc++.h"

using namespace std;

typedef struct bitnode

{

char data;

bitnode *lchild,*rchild;

} *bintree;

bintree creatree(bintree &root)//先序创建树

{

char a=getchar();

if(a==' ')

{

root=NULL;

return root;

}

else

{

root=(bintree)malloc(sizeof(bitnode));

root->data=a;

creatree(root->lchild);

creatree(root->rchild);

return root;

}

}

void PreOrderTraverse(bintree root)//InOrderTraverse中序 PostOrderTraverse 倒序

{

if(root==NULL)

{

return ;

}

else

{

PreOrderTraverse(root->lchild);

PreOrderTraverse(root->rchild);

cout<data<

}

}

int CountDegreeOne(bintree root)//度为一节点的个数

{

if(root==NULL)

return 0;

else

{

int a=CountDegreeOne(root->lchild);

int b=CountDegreeOne(root->rchild);

if(root->lchild&&!root->rchild||root->rchild&&!root->lchild)

return a+b+1;

else

return a+b;

}

}

int DeepTree(bintree root)//树的深度

{

if(root==NULL)

return 0;

else

{

int a=DeepTree(root->lchild);

int b=DeepTree(root->rchild);

if(a>=b)

return a+1;

else

return b+1;

}

}

int same(bintree root,bintree root1)//判断两棵树是否相同

{

if(root&&!root1||root1&&!root||!root&&!root1)

{

return 0;

}

else

{

if(root->data==root1->data)

{

int a=same(root->lchild,root1->lchild);

int b=same(root->rchild,root1->rchild);

if(a==b==1)

return 1;

}

else

return 0;

}

}

int main()

{

bintree root;

bintree root1;

creatree(root);

getchar();

creatree(root1);

PreOrderTraverse(root);

cout<

cout<

if(same(root,root1))

cout<

else

cout<

return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下载bilibli网站视频

https://www.videofk.com/bilibili-video-download/ bilibili https://www.videofk.com/bilibili-video-download/search?urlhttps%3A%2F%2Fwww.bilibili.com%2Fvideo%2Fav50186988&selectbilibili

处理js乱码

1.将time.js编码格式更改外 2.在Tomcat设置VM-OPTION 选项为-Dfile.encodingutf-8

asp.net core 实战之 redis 负载均衡和quot;高可用quot;实现

1.概述 分布式系统缓存已经变得不可或缺,本文主要阐述如何实现redis主从复制集群的负载均衡,以及 redis的"高可用"实现, 呵呵双引号的"高可用"并不是传统意义的高可用哈,而是 redis集群挂了,并不影响asp.net core 的运行, 欲知详情,请看下文. 注意: 本文主…

Java IO: 其他字符流(下)

转载自 Java IO: 其他字符流(下)作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本小节会简要概括Java IO中的PushbackReader&#xff0c;LineNumberReader&#xff0c;StreamTokenizer&#xff0c;PrintWriter&#xff0c;StringReader&#xff0c;StringWriter。P…

java 长字符串 比较_Java字符串比较(3种方法)

字符串比较是常见的操作&#xff0c;包括比较相等、比较大小、比较前缀和后缀串等。在 Java 中&#xff0c;比较字符串的常用方法有 3 个&#xff1a;equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法。下面详细介绍这 3 个方法的使用。equals() 方法equals() 方法将…

IntelliJ IDEA 项目结构旁边出现 0%methods,0% lines covered 解决

IntelliJ IDEA 项目结构旁边出现 0%methods,0% lines covered 解决 windows 1.选中根目录文件夹 ctrl alt f6弹出如下框,取消勾选-->点击Show Selected就可以去掉了 mac 1.选中根目录文件夹 option fn command f6弹出如下框,取消勾选-->点击Show Select…

javaweb---简易邮件发送

邮件发送 2.jar包的支持 activation-1.1.1.jar mail-1.4.7.jar 3.授权码的获取 4.简易文本邮件发送的实现 由上图我们可以确定几个必须步骤 1.创建session对象 2.创建Transport对象 3.使用邮箱的用户名和授权码连上邮件服务器 4.创建一个Message对象&#xff08;需要传递…

Hibernate中使用Criteria查询及注解——(DeptTest.java)

DeptTest.java 测试类&#xff1a; 先创建Session&#xff1a; private Session session;private Transaction tx;Beforepublic void beforeMethod(){sessionnew Configuration().configure().buildSessionFactory().openSession();}关闭Session&#xff1a; Afterpublic void…

asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel)

概述 本文目的是搭建三台asp.net core 集群, 并配上 nginx做负载均衡 首先准备要运行的源码 http://pan.baidu.com/s/1c20x0bA 准备三台服务器(或则虚拟机) 192.168.182.129 , 192.168.182.130 , 192.168.182.131 并将源码发布至三台服务器的 /root/aspnetcore/anuoapc 目录 …

Java IO教程

转载自 Java IO教程译文链接 作者&#xff1a;Jakob Jenkov 译者&#xff1a;Connor (cronnorcgmail.com) &#xff0c;李璟 校对&#xff1a;方腾飞 Java IO 是一套Java用来读写数据&#xff08;输入和输出&#xff09;的API。大部分程序都要处理一些输入&#xff0c;并由输…

Java web登录拦截器_SpringMVC拦截器(实现登录验证拦截器)

本例实现登陆时的验证拦截&#xff0c;采用SpringMVC拦截器来实现核心代码首先是index.jsp,显示链接String path request.getContextPath();String basePath request.getScheme()"://"request.getServerName()":"request.getServerPort()path"/&quo…

Java Poi 向excel中插入图片

博客 package com.unicom.yangjiabin.utils;import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import org.apache.po…

visual studio for mac的离线安装初体验

微软2016 Connect 大会发布了visuo studio for mac的pre版本&#xff0c;由于工作原因&#xff0c;现在工作环境是mac&#xff0c;虽然开发现在是在用python&#xff0c;但一直关注着.net的发展&#xff0c;于是自己很激动的体验了一把&#xff0c;在张善友老师的提醒下,把安装…

JAVAWEB(笔记)

简介 web开发&#xff1a; web&#xff0c;网页的意思&#xff0c;www.baidu.com静态web html,sss提供给所有人看的数据始终不会发生变化&#xff01; 动态web 淘宝&#xff0c;几乎是所有的网站&#xff1b;提供给所有人看的数据始终会发生变化&#xff0c;每个人在不同的时…

Java IO: 其他字节流(上)

转载自 Java IO: 其他字节流(上)作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本小节会简要概括Java IO中的PushbackInputStream&#xff0c;SequenceInputStream和PrintStream。其中&#xff0c;最常用的是PrintStream&#xff0c;System.out和System.err都是Pri…

java中public private_java中public、private、protected区别

类中的数据成员和成员函数据具有的访问权限包括&#xff1a;public、private、protect、friendly(包访问权限)1、public&#xff1a;public表明该数据成员、成员函数是对所有用户开放的&#xff0c;所有用户都可以直接进行调用2、private&#xff1a;private表示私有&#xff0…

Excel转为图片

Java 将Excel转为图片、html、XPS、XML、CSV E_iceblue关注0人评论66人阅读2020-01-10 16:16:24 通过文档格式转换&#xff0c;可满足不同办公场合对文档操作的需求。本文将介绍转换Excel文档为其他常见文档格式的方法。通过文中的方法&#xff0c;可支持将Excel转换为包括PDF、…

Hibernate中使用Criteria查询及注解——( EmpCondition)

EmpCondition&#xff1a; 动态查询的条件类&#xff1a; package cn.bdqn.hibernate_Criteria.entity;import java.util.Date;/*** Criteria动态查询的条件类* author Administrator**/ public class EmpCondition {private String job;//职位private Double sal;//工资privat…

.NET Core 构建配置文件从 project.json 到 .csproj

从 .NET Core SDK 1.0 Preview 3 build 004056 开始&#xff0c;.NET Core 弃用 project.json&#xff0c;回归 .csproj&#xff0c;主要原因是为了兼容 MSBuild &#xff0c;详见 Announcing .NET Core Tools MSBuild “alpha” 。 如果你安装了 .NET Command Line Tools (1.0…

Java IO: 字符流的Piped和CharArray

转载自 Java IO: 字符流的Piped和CharArray作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 本章节将简要介绍管道与字符数组相关的reader和writer&#xff0c;主要涉及PipedReader、PipedWriter、CharArrayReader、CharArrayWriter。PipedReader 原文链接 PipedRead…