二叉排序树唯一吗_二叉排序树唯一吗?

二叉排序树唯一吗_二叉排序树唯一吗?二叉排序树1.需求分析:假设给定一个数列  [36,65,18,7,60,89,43,57,96,5

二叉排序树
  1.需求分析:

  假设给定一个数列  [36,65,18,7,60,89,43,57,96,52,74],能够有效的完成对数据的查询和添加。

  2.思路分析:

  使用数组:

  1、使用未排序数组可以直接将数组插入到数组尾端,速度快,但是查找慢

  2、使用排序好数组,查询比较快,但是插入新数据时,需要整体移动后,插入有效的位置,过程比较慢

  使用链表:

  链表特点是插入数据比较方便,但是查询数据比较慢

  3.二叉排序树介绍:

  二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。

  如果有相同的值,可以将该节点放在左子节点和右子节点上。

  6027f8ae2b8e4aa2b10c8ec68624dd92.png

  同一集数据对应的二叉排序树不唯一。但经过中序遍历得到的关键码序列都是一个递增序列。

  4.排序:

  例如,假设原二叉排序树为空树,在对动态查找表 {3,5,7,2,1} 做查找以及插入操作时,可以构建出一个含有表中所有关键字的二叉排序树。

  27339fa5c0dd42c6bb205b83391bc39a.png

  5.删除:

  其中二叉排序树是一个动态树表,其特点就是树的结构不是一次生成的,而是在查找过程中,如果关键字不在树表中,在把关键字插入到树表中。而对于删除操作,它分为三种情况

  1.删除结点为叶子结点(左右子树均为NULL),所以我们可以直接删除该结点,如下图所示:

  b8828aede6b74c8382d6b8e51e39a1fa.png

  2.删除结点只有左子树或者右子树,此时只需要让其左子树或者右子树直接替代删除结点的位置,称为删除结点的双亲的孩子,就可以了,如下图所示:

  5c12f2a78cbd45ca9c66d1b2e3408f6b.png

  3.当要删除的那个结点,其左右子树都存在的情况下,则要从从左子树中找出一个最大的值那个结点来替换我们需要删除的结点,如下图所示:

  0c8ac3fb592b474a8756d2c93dd96e9e.png

  bedc68e4b10d45508548b7666dbf3be6.png

  6.代码实现:

  运行结果:

  8239e5875c784b3d8f035f9478ed68bb.png

激活谷谷主为您准备了激活教程,为节约您的时间请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/95080.html

(0)
上一篇 2024年 5月 25日 下午3:06
下一篇 2024年 5月 25日 下午3:16

相关推荐

  • xshell 链接console_xshell命令连接ip

    xshell 链接console_xshell命令连接ipSSH 远程管理服务一、ssh简介1.1)SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?1.提供远程连接服务器的服务 1)linux远程连接协议: ssh服务 端口22 2)windows远

    2024年 5月 10日
  • 测试cpu的性能指标有哪些内容_测试cpu的性能指标有哪些内容呢

    测试cpu的性能指标有哪些内容_测试cpu的性能指标有哪些内容呢CPU的性能指标有哪几项?CPU是整个微机系统的核心,它往往是各种档次微机的代名词,CPU的性能大致上反映出微机的性能,因此它的性能指标十分重要。CPU主要的性能指标有:(1)主频即CPU的时钟频率(

    激活谷笔记 2024年 5月 30日
  • 如何查看cpu的pcie数量_如何查看pcie接口数量

    如何查看cpu的pcie数量_如何查看pcie接口数量自动驾驶计算&域控平台-芯驰前言芯驰专注于提供高性能、高可靠的车规芯片,是全球“全场景、平台化”的芯片产品与技术解决方案提供者。产品覆盖智能座舱、智能驾驶、网关和MCU,涵盖了未来汽车电子电气架构最核心的芯片类别,从而实现 “四芯合一 赋车以魂”。本

    2024年 5月 27日
  • 标志寄存器共有多少个标志位_标志寄存器共有多少个标志位的

    标志寄存器共有多少个标志位_标志寄存器共有多少个标志位的标志寄存器——标志位大家好,又见面了,我是你们的朋友全栈君。标志位简介:标志寄存器,又称程序状态寄存器(它的内容是Program Status Word,PSW).这是一个存放条件码标志,控制标志和系统标志的寄存器.标志寄存器——标志位6

    2024年 5月 30日
  • gpedit打不开组策略_gpedit.msc打开组策略

    gpedit打不开组策略_gpedit.msc打开组策略win10家庭版怎么无法打开gpedit.msc?Windows 家庭版用户最大的心结,可能就是没有本地组策略编辑器(Win+R后输入gpedit.msc)了。今天就来帮大家了却心结,家庭版用户用上组策略编辑器不再是梦!先新建一个文本文档,把下面这些内容复制进去:@echo

    2024年 5月 20日
  • iOS中自带超强中文分词器的实现方法

    iOS中自带超强中文分词器的实现方法这篇文章主要给大家介绍了关于iOS中自带超强中文分词器的实现方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    2024年 3月 11日
  • ubuntu20.04分区方案详解500_ubuntu20双系统分区

    ubuntu20.04分区方案详解500_ubuntu20双系统分区安装双系统win10+Ubuntu20.04LTS(详细到我自己都害怕)写在前面写这篇文章的起因是因为重装了很多次电脑了,每次重装都要找各种零零散散的博客,有些博客写的是错的,有些还药不对症。痛,太痛了。

    2024年 5月 9日
  • 产品doe是什么意思_产品dom是啥意思

    产品doe是什么意思_产品dom是啥意思电子电器/LED灯具产品美国能效法规DOE认证怎么注册流程详解最近正好碰到有人在询问DOE的问题,而且还是行业内的人,我想对于DOE的相关知识,平时不是经常接触的人可能不太清楚,那正好今天有时间,就给

    2024年 5月 31日
  • l298n电机驱动模块驱动直流电机_l298n电机驱动模块使用方法

    l298n电机驱动模块驱动直流电机_l298n电机驱动模块使用方法基于Arduino接口的L298N直流电动机驱动器模块如果您打算组装新的机器人朋友,那么您最终将想了解有关控制直流电动机的知识。控制直流电动机的最简单,最便宜的方法之一是将L298N电动机驱动器与Arduino接口。它可以控制两个直流电动机的速度和旋转方向。另外,它甚至可以控制NEMA 17等

    2024年 5月 28日
  • Datagrip激活2024.1.2(DataGrip 2023.2.1中文版激活教程、DataGrip激活码(2024最新版))

    Datagrip激活2024.1.2(DataGrip 2023.2.1中文版激活教程、DataGrip激活码(2024最新版))

    激活谷笔记 2024年 6月 7日
  • substance怎么保存_substance怎么保存低版本

    substance怎么保存_substance怎么保存低版本Surface Book 3 Quadro RTX 3000 概述应用描述Adobe Dimension经过 Adobe 测试和批准,适用于使用 Quadro RTX 3000 的 Surface Book 3- RTX 加速光线跟踪为 2D 艺术家和设计师提供逼真

    激活谷笔记 2024年 6月 2日
  • c语言函数已有主体_c语言函数已有主体怎么解决

    c语言函数已有主体_c语言函数已有主体怎么解决C语言提示函数已有主体怎么解决如果C语言中的函数已经有主体,意味着该函数已经被定义了。如果你想对该函数进行修改或添加新的功能,可以在函数主体中进行相应的修改或添加代码。如果你只想使用该函数,可以直接在其他地方调用该函数。如果你不确定如何修改已有的函数主体,可以参考以下步骤:确保你理解函数的功能和参数

    激活谷笔记 2024年 5月 29日
关注微信