首页 > 其他分享 >二叉搜索树 & 平衡树学习笔记

二叉搜索树 & 平衡树学习笔记

时间:2024-01-13 15:12:47浏览次数:26  
标签:右子 笔记 二叉 搜索 权值 节点

注意,这是一篇学习笔记。

二叉搜索树

定义

  1. 空树是二叉搜索树
  2. 若二叉搜索树的左子树非空,左子树内每个点的权值均 小于 二叉搜索树根节点的权值
  3. 若二叉搜索树的右子树非空,右子树内每个点的权值均 大于 二叉搜索树根节点的权值
  4. 二叉搜索树的左右子树为二叉搜索树

二叉搜索树中每个节点有一个权值 \(v\),一个重复数量 \(cnt\)。还需要额外记录子树大小 \(siz\)。

性质

由定义可得一颗二叉搜索树的中序遍历的节点序列的权值单调递增。

操作

设树高为 \(h\)。

极值

由性质得最小值在二叉搜索树最小值在最左边的节点,最大值则在最右边的节点。

时间复杂度 \(O(h)\)。

搜索值

当在二叉搜索树中搜索 \(x\) 时,对于当前根节点 \(r\),

  • 若 \(r\) 为空,返回 false
  • 若 \(r.v=x\),返回 返回 true
  • 若 \(x<r.v\),在左子树中递归查找
  • 若 \(r.v<x\),在右子树中递归查找

时间复杂度 \(O(h)\)。

标签:右子,笔记,二叉,搜索,权值,节点
From: https://www.cnblogs.com/chargedcreeper/p/17962349/tree

相关文章

  • armv8虚拟化原理笔记
    随便记记,没有章法。VTTBR_EL2和TTBR1_EL2有啥区别?VTTBR_EL2是内存虚拟化中stage2页表的基地址存放的寄存器,高16位存放了VMID,用于提高VMTLB性能;TTBR1_EL2,是指在VHE开启的情况下hostOS可以在EL2运行,这时候内核使用的页表基地址就存放在这里;设备模拟分为软件模拟和直接assign。......
  • RK3568 学习笔记 : 开机上电与串口波特率
    前言开发板:【正点原子】ATK-DLRK3568开发板,包装什么的看上去有点高大上,也有点贵。。开发板资料的Linux-SDK编译通过了,想尝试第一次上电开机,不过,开始出了一点状况,串口信息是乱码,难道【调试串口】数据线有问题?波特率115200bps不正确?调试串口波特率开发板默认有镜像,因此先上电研......
  • RK3568 学习笔记 : 解决 linux_sdk 编译 python 版本报错问题
    前言最近买了【正点原子】的RK3568开发板,下载了开发板的资料,包括LinuxSDK,这个LinuxSDK占用的空间比较大,扩展了一下VM虚拟机ubuntu20.04的硬盘空间,编译才正常通过。编译RK3568LinuxSDK时,遇到python版本的问题,这里做个记录【正点原子】rk3568开发板资料与Lin......
  • haproxy笔记
    文章目录场景haproxy配置文档地址场景还得先从场景说起。生产环境redis检查,发现配置的redis地址不对。redis有3个节点。192.168.0.1192.168.0.2192.168.0.3但是配置的是192.168.0.9端口是16379。好奇怪有没有,是不是配错了?问了下部署大神,才确认部署的没问题。说是走的h......
  • Iot学习笔记记录
    前言2024.1.13沙青图书馆甚至一开始打成了2023年。各位新年快乐。有时间会写下2023的年度总结。不过在此要提前开一个博客,记录一下接下来学习Iot安全的记录了。实在是再不学就要被学弟学妹追上了啊!此时此刻我却还要复习公钥和马原还有python,啊!感叹。想从黑自己的小米手环开始,......
  • 《Java编程思想第四版》学习笔记53--关于UDP
    1、TCP和UDP端口是相互独立的。也就是说,可以在端口8080同时运行一个TCP和UDP服务程序,两者之间不会产生冲突。P.547//:Dgram.java//Autilityclasstoconvertbackandforth//BetweenStringsandDataGramPackets.importjava.net.*;publicclassDgram{publ......
  • 小程序开发:笔记详情显示图片以及可以富文本编辑
    上文说到:把笔记列表的下拉刷新、上拉加载更多功能完成了。本文主要完成的功能项:页面显示图片、编辑时富文本编辑。现在的详情页是这样的: 图片还是个url。刚抽空把首页列表的无数据时展示提示的功能做了,大概样式如下: 而现在的编辑页面是这样的: 只是简单的文字编辑功能......
  • 计算机组成原理 复习笔记
    蒽,谁说不是速成指南呢。目录11Intro12-13指令系统计算机程序与指令系统语言高级语言/算法语言汇编语言机器语言冯诺依曼结构计算机指令和指令系统RISC-V指令系统架构特点特权模式14数据表示及检错纠错数据表示逻辑型数据表示字符的表示数值数据:整数、浮点数数值范围和数......
  • 秦九韶算法学习笔记
    快速求多项式——秦九韶算法计算\(\sum^n_i{a_i\timesx^i}\)的值。1.朴素算法算出每一项的值再相加,总共要进行\(\frac{n(n+1)}{2}\)次乘法,\(n\)次加法。2.秦九韶算法\(a_0+a_1x+a_2x^2+\dotsa_nx^n=(((a_nx+a_{n-1})x+a_{n-2}\dots)x+a_1)x......
  • 【GUI软件】抖音搜索结果批量采集,支持多个关键词、排序方式、发布时间筛选等!
    目录一、背景介绍1.1爬取目标1.2演示视频1.3软件说明二、代码讲解2.1爬虫采集模块2.2软件界面模块2.3日志模块三、获取源码及软件一、背景介绍1.1爬取目标您好!我是@马哥python说,一名10年程序猿。我用python开发了一个爬虫采集软件,可自动按关键词抓取抖音视频数据。为......