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

编程日志5.10

二叉搜索树的基础代码

#include<iostream>
using namespace std;

//二叉搜索树节点定义
template<typename T>
struct TreeNode {
    T val;//一个类型为T的成员变量val,用于存储树节点的值
    TreeNode* left;//left、right两个指针类型的成员变量,分别用于指向树节点的左子节点和右子节点
    TreeNode* right;
    //这是一个无参的构造函数,用于初始化树节点的成员变量。在这个构造函数中,将节点的值设置为0,左子节点和右子节点都设置为NULL。
    TreeNode():val(0),left(NULL),right(NULL){}
    //这是一个有参的构造函数,用于初始化树节点的成员变量。在这个构造函数中,将节点的值设置为给定的参数x,左子节点和右子节点都设置为NULL。
    TreeNode(T x):val(x),left(NULL),right(NULL){}
};

//二叉搜索树 类定义
template<typename T>
class BinarySearchTree {
private://定义私有成员变量/函数
    TreeNode<T>* root;//1.用于存储二叉搜索树的根节点指针
    TreeNode<T>* insertNode(TreeNode<T>* node, T value);//2.用于向二叉搜索树中插入一个结点
    TreeNode<T>* removeNode(TreeNode<T>* node, T value);//3.用于从二叉搜索树中删除一个结点
    bool searchNode(TreeNode<T>* node, T value);//4.用于在二叉搜索树中搜索结点是否存在
    void inOrder(TreeNode<T>* node);//5.用于按照中序遍历方式遍历二叉树
public://定义公共函数
    BinarySearchTree():root(NULL){}//6.构造函数,用于初始化二叉搜索树的根节点为NULL
    ~BinarySearchTree();//7.析构函数,用于释放动态分配的内存
    void insert(T value) {//8.用于向二叉搜索树中插入一个值
        root = insertNode(root, value);
    }
    void

http://www.dtcms.com/a/197240.html

相关文章:

  • 向量数据库Qdrant的Collection参数配置说明
  • 【嵌入式项目-MCU代码2】
  • day28 python 类与继承
  • 使用Spring Boot与Spring Security构建安全的RESTful API
  • 二叉树的中序遍历 递归调用的完整展开
  • 完整卸载 Fabric Manager 的方法
  • Python海龟绘图(Turtle Graphics)核心函数和关键要点
  • W5500使用ioLibrary库创建DHCP客户端
  • 生产者 - 消费者模式实现方法整理
  • python + streamlink 下载 vimeo 短视频
  • 【Element UI】表单及其验证规则详细
  • DAY 23 训练
  • Python 3.11详细安装步骤(包含安装包)Python 3.11详细图文安装教程
  • Python 基础之函数命名
  • Nginx应用场景详解与配置指南
  • 【时时三省】(C语言基础)字符数组应用举例2
  • DeepSeek-R1 Supervised finetuning and reinforcement learning (SFT + RL)
  • MATLAB安装常见问题及解决办法
  • 开源项目实战学习之YOLO11:12.4 ultralytics-models-sam-memory_attention.py源码分析
  • 强化学习中,frames(帧)和 episodes(回合)
  • 重排序模型解读 mxbai-rerank-base-v2 强大的重排序模型
  • 我司助力高校打造「智慧创新AI学习中心」
  • 互联网大厂Java求职面试:AI驱动的短视频直播平台架构设计
  • 软件设计师考试结构型设计模式考点全解析
  • 学习深度学习是否要先学习机器学习?
  • 非对称加密算法(公钥加密算法)
  • 常见位运算总结
  • 【Ubuntu】Waydroid-Linux安卓模拟器安装
  • Node.js 实战四:数据库集成最佳实践
  • TC3xx学习笔记-UCB BMHD使用详解(二)