//判断两个二叉树是否相等
//提问如果两个二叉树的前序遍历相等,能否说明,这两个树相等?
//答案是否定的,只有这两个树的 A前序=B前序,A中序=B中序才可以。
BOOL isEqualTree(BitTree* t1, BitTree* t2) {if (t1 == NULL && t2 == NULL)return TRUE;if (!t1 || !t2)//t1,t2一个空一个不空,肯定不相同return FALSE;if (t1->data == t2->data)return isEqualTree(t1->left, t2->left) && isEqualTree(t1->right, t2->right);elsereturn FALSE;
}//使用二叉链表建立二叉搜索树:注意,我们目前这个树不支持相同元素
BitTree* insertIntoBinSearchTree(BitTree* root, int node) {BitTree* newNode;BitTree* currentNode;BitTree* parentNode;newNode = (BitTree*)malloc(sizeof(BitTree));newNode->data = node;newNode->left = NULL;newNode->right = NULL;if (root == NULL)return newNode;else {currentNode = root;//然后我们对当前节点进行定位//注意,传入root是根节点,我们要根据根节点,按照左小右大的逻辑找到节点位置//首先通过while找到新节点的位置while (currentNode != NULL) {parentNode = currentNode;if (currentNode->data > node) {currentNode = currentNode->left;}else {currentNode = currentNode->right;}}//其次,我们将父节点和子节点做连接if (parentNode->data > node) {parentNode->left = newNode;}else {parentNode->right = newNode;}}return root;
}

判断两棵树是否相等与使用二叉链表法建立二叉搜索树相关推荐

  1. 递归判断两棵树是否相同

    递归写法判断两棵树是否相同: bool flag = true; // 默认认为两棵树是相同的,递归判断过程中改变flag值,一旦有一个不同,就跳出 void judge(node* root1, n ...

  2. 【数据结构】判断两棵树是否相等的算法

    下面用先根遍历的思路描述算法的步骤: 若两棵二叉树都为空,则两棵二叉树相等,返回true; 若两棵二叉树都非空,则 若根结点的值相等,则继续判断它们的左子树是否相等: 若左子树相等,则再继续判断它们的 ...

  3. LeetCode——Same Tree(判断两棵树是否相同)

    问题: Given two binary trees, write a function to check if they are equal or not. Two binary trees are ...

  4. 百度面试题:判断两棵树是否相等

    请实现两棵树是否相等的比较,相等返回1,否则返回其他值,并说明算法复杂度. 数据结构为: typedef struct_TreeNode{ char c; TreeNode *leftchild; T ...

  5. 代码实现判断两棵树是否相等

    //两棵树是否相等 bool compare(const Node *root1,const Node *root2){if (root1==NULL&&root2==NULL){re ...

  6. python【数据结构与算法】判断两棵树是否相等

    # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # sel ...

  7. 判断两个树是否相同判断一棵树是否是一棵树的子树

    判断两棵树是否相同 方法:对两棵树同时做相同的递归判断其值或者是结构是否相同. 以下代码用的是前序遍历.递归方法(毕竟递归好理解而且代码少得可怜). 比较啰嗦的是指针为空的情况,只要把这些情况单独列出 ...

  8. 判断一棵树是否是另一棵树的子树(Java实现)

    前面一篇文章介绍了如何判断两棵树相等,思路就是遍历每个节点,然后判断是否均相等,需要用递归来实现.如果需要判断一棵树是另一棵树的子树,该怎么办呢?我们需要借助前面的思路,需要先判断两棵树相等,这里就是 ...

  9. LeetCode-判断两棵树是否相同

    两颗树的情况可能如下图所示: 1 1/ \ / \2 3 2 31 1/ \ / \2 1 1 2 求解思路:1.先判断两棵树是否为空,如果均为空,那么两棵树肯定相同:如果有一个为空,则不同. 2.在 ...

最新文章

  1. OpenCV的函数的开头部分CV_Assert的意思
  2. Google I/O 2014 - Keynote for Android
  3. AI:2020年6月16日晚20点陆奇博士演讲《正视挑战把握创业创新机会》
  4. 执行work count程序报错Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
  5. Kudu :主键冲突 status=Already present: key already present
  6. php获取laydate,laydate日历控件使用方法实例分享
  7. 若依前后端分离前端使用Vue3启动教程
  8. 146.PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
  9. 对任意合式公式求真值表以及主析取范式和主合取范式(JAVA)
  10. 如何使用 QEMU 中的虚拟串口
  11. 2018ACM-ICPC焦作站 补题
  12. Telegram图文详解-- 编程机器人(谷歌脚本服务)
  13. Apache Flink_JZZ166_MBY
  14. 2022支付宝集五福攻略,一天20张不是事
  15. Tek(泰克)示波器如何导出波形数据到U盘
  16. R语言学习day2丨三大法宝:判断、循环、函数
  17. 职场撕逼中如何保护自己
  18. Ti IMGLIB库简介
  19. 打开特斯拉App,自己的车变成了别人的车
  20. 商业银行表内业务与表外业务

热门文章

  1. java treeset 删除_删除Java TreeSet中的最高元素
  2. 昵称到拼音php,php 汉字转换拼音程序_PHP教程
  3. fir抽取滤波器matlab,Xilinx FPGA之抽取FIR滤波器的实现
  4. Spring+MybatisPlus实现多数据源
  5. Ubuntu创建新用户的正确姿势
  6. Google VC投资SDN初创公司Plexxi
  7. 大数据量txt文本数据分块去重
  8. 使用autoconf完成编译配置
  9. [Swift]NSString、NSData、Base64互转
  10. Cocos2d-x-3.x特性变化