| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> LeetCode--二叉搜索树基本操作--搜索、增、删、判断 -> 正文阅读 |
|
[数据结构与算法]LeetCode--二叉搜索树基本操作--搜索、增、删、判断 |
LeetCode–二叉搜索树基本操作–搜索、增、删、判断二叉搜索树BST的定义:一个二叉树中,任意节点的值要大于左子树所有节点的值,且要小于右子树所有节点的值。 二叉树算法的设计路线:递归思想,明确一个节点要做的事情,然后剩下的事情交给框架 BST的基础操作:判断BST的合法性、增、删、改、查,其中删除及判断合法性的操作略微复杂。 题目链接: 递归三部曲1、递归函数的参数与返回值: 2、递归终止条件: 3、单层递归逻辑: 700、 二叉搜索树中的搜索题目描述:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 递归法:
迭代法: 对于一般二叉树,递归过程中还有回溯的过程,例如走一个左方向的分支走到头了,那么要调头,在走右分支。 对于二叉搜索树,不需要回溯的过程,因为节点的有序性就帮我们确定了搜索的方向.
100、相同的树题目描述:给你两棵二叉树的根节点 解题思路:考虑所有的情况,为空的情况
注:一般写if语句的时候先判断不满足条件的,最后返回满足条件的 701、二叉搜索树中的插入操作题目描述:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要在插入后仍保持为二叉搜索树即可。可以返回任意有效的结果 。 Python代码实现:
注意:遍历到根结点为空,不能直接插入值,要新建一个结点储存要插入的值,最后返回整个树 450、删除二叉搜索树中的结点平衡二叉树中删除结点遇到的各种情况:
可以自己画一下图示:
98、验证二叉搜索树验证二叉搜索树,首先二叉搜索树的特点:
如果只是单纯的利用左结点的值小于中间结点且中间结点的值小于右结点的值,会导致以下情况: 解题思路:
sorted排序,set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 17:30:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |