首页 > 生活 > 生活妙招

二叉树的深度怎么算(完全二叉树的深度公式)

常驻编辑 生活妙招 2021-12-26 深度
w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

三、二叉树的创建

接下来,我们通过代码来描述二叉树,语言以Java为例,其中结点类定义如下:w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

二叉查找树类定义如下:w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

相关类定义好后,我们来看具体的方法实现,下面分别介绍。w4h拜客生活常识网

1. size()方法

size()方法相对简单,每次添加元素加一,删除元素减一,维护一个公共的变量 num 即可,代码实现如下:w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

2. put(Key key,Value value)方法

put(Key key,Value value)方法可以利用重载方法 put(Node x,Key key,Value value),因此实现也相对简单,其中第一个参数只需要传根结点即可,代码实现如下:w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

3. put(Node x,Key key,Value value)方法

put(Node x,Key key,Value value)方法应该是整个类中实现相对较为复杂的,下面进行简单的分析。w4h拜客生活常识网

第一种情况,当前树中没有任何一个结点,直接将新插入的结点作为根结点。w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

第二种情况,当前树不为空,则从根结点开始。这种情况有可以细分为三种情况:w4h拜客生活常识网

1)如果新结点的key小于当前结点的key,则继续查找当前结点的左子结点。w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

2)如果新结点的key大于当前结点的key,则继续查找当前结点的右子结点。w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

3)如果新结点的key等于当前结点的key,则树中已经存在这样的结点,替换该结点的value值即可。w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

具体的代码实现如下:w4h拜客生活常识网

带你全面的了解二叉树

w4h拜客生活常识网

4. get(Key key)方法

get(Key key)方法和 put(Key key,Value value)方法类似,也可以利用重载方法 get(Node x,Key key)来实现,代码实现如下:w4h拜客生活常识网

带你全面的了解二叉树

相关阅读:

  • 43码的鞋鞋柜深度应该是多少
  • 深度300的鞋柜能放43码的鞋吗
  • 怎么进入深度睡眠(如何冥想达到深度睡眠)
  • 宾得相机怎么样(宾得ks2深度评测)
  • 慕思3d床垫怎么样(u深度pe装机工具使用教程)
  • 佳能5d4怎么样(佳能5d4深度评测)
  • 深度睡眠多久(做一次睡眠监测要住院吗)
  • 多久深度睡眠(一般入睡后多久是熟睡)
  • 为什么这么能睡(深度睡眠被触摸知道吗)
  • 怎么安装xp系统 深度xp系统安装教程?
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。