当前位置: 首页 > news >正文

续二叉搜索树递归玩法

文章目录

    • 一、插入递归
    • 二、寻找递归(非常简单,走流程就行)
    • 三、插入递归(理解起来比较麻烦)

在这里插入图片描述


先赞后看,养成习惯!!!^ _ ^<3 ❤️ ❤️ ❤️
码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!
所属专栏:C++进阶
在这里插入图片描述

一、插入递归

	bool _InsertR(const K& key){return _Insert(_root, key);}
bool _Insert(Node*& root, const K& key)
{if (root == nullptr){root = new Node(key);}if (root->_key > key){return _Insert(root->left, key);}else if (root->_key < key){return _Insert(root->right, key);}else{return false;}
}

代码解读
在这里插入图片描述

二、寻找递归(非常简单,走流程就行)

	bool _FindR(const K& key){return _Find(_root, key);}bool _Find(Node* root, const K& key)
{if (root == nullptr)return false;if (root->_key > key){return _Find(root->left,key);}else if (root->_key < key){return _Find(root->right,key);}else{return true;}
}

三、插入递归(理解起来比较麻烦)

	bool _EraseR(const K& key){return _Erase(_root, key);}bool _Erase(Node*& root, const K& key)
{if (root == nullptr)return false;if (root->_key > key){return _Erase(root->left, key);}else if (root->_key < key){return _Erase(root->right, key);}else{Node* del = root;if (root->left == nullptr){root = root->right;}else if (root->right == nullptr){root = root->left;}//递归转化到子树去删除else{Node* leftmax = root->left;while (leftmax->right){leftmax = leftmax->right;}swap(root->_key, leftmax->_key);return _Erase(root->left, key);}delete del;return true;}

代码解读
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/331561.html

相关文章:

  • DDD 的四层领域模型是怎样的?包含哪些基础概念?
  • AI 在医疗保健领域的应用:技术、趋势和前景
  • SVG XML 格式定义图形入门介绍
  • MYSQL数据库的故障排除与优化
  • C++从入门到精通——入门知识
  • 一些题目学习
  • Linux上管理文件系统
  • 【Linux】寿司线程池{单例模式之懒汉模式下的线程池}
  • Docker资源管理和分配指南
  • 为什么索引的底层结构是B+树
  • NLP学习路线指南总结
  • 试过了,ChatGPT确实不用注册就可以使用了!
  • CANoe自带的TCP/IP协议栈中TCP的keep alive机制是如何工作的
  • 【C++练级之路】【Lv.18】哈希表(哈希映射,光速查找的魔法)
  • 「PHP系列」If...Else语句/switch语句
  • Ubuntu部署BOA服务器
  • 安卓Glide加载失败时点击按钮重新加载图片
  • linux下python服务定时(自)启动
  • awk命令进阶操作(二)
  • 【洛谷 P8695】[蓝桥杯 2019 国 AC] 轨道炮 题解(映射+模拟+暴力枚举+桶排序)
  • 高阶DS---AVL树详解(每步配图)
  • c++前言
  • 2024年泰迪杯数据挖掘B题详细思路代码文章教程
  • 练习 21 Web [GXYCTF2019]BabySQli
  • 【并发编程】CountDownLatch
  • 2024-HW --->SSRF
  • 该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系
  • 【BUG】No module named ‘dnf‘
  • Ubuntu pycharm配置Conda环境
  • 工作体验记录