小白专场-是否同一颗二叉搜索树-python语言实现

一、二叉搜索树的相同判断

二叉搜索树是一种特殊的二叉树,在一定程度上是基于二分查找思想产生的,在它的任何一个节点node处,node的左子树中的所有元素都比node本身的数值要小,而node的右子树中的所有元素都比node本身要大。

二、问题引入

与普通的二叉树不同,任意给一串不重复的数字,就可以确定一棵二叉搜索树,例如:当给定序列12,5,11,17,16,19,18时,可以确定的二叉搜索树如下:

本质上,由于二叉搜索树的节点左右按大小分界的性质,确定一棵二叉搜索树最重要的还是序列中数字出现的次序,一个小小的调换就可能导致二叉搜索树改变,因此,有时候我们需要找到一些方法来确认两个序列所对应的二叉搜索树是否为同一棵二叉搜索树。

三、举例分析

我们以最简单的例子,由1,2,3构成的6种序列,及其对应的二叉搜索树、先序、中序、后序、层序遍历结果分别如下:

四、方法探讨

我们可能会自然地想到用遍历对两颗二叉搜索树进行比较,常用的遍历方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值