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

【数据结构与算法】动态查找表(二叉排序树,二叉平衡树)详解

二叉排序树的数据结构。

struct TreeNode {ElemType data;TreeNode *left, *right;
};
using BiTree = TreeNode *;

结构体包含三个成员:

  • data 是一个 ElemType 类型的变量,用于存储二叉搜索树节点的数据。
  • left 是一个指向 TreeNode 类型的指针,用于指向二叉搜索树节点的左子节点。
  • right 是一个指向 TreeNode 类型的指针,用于指向二叉搜索树节点的右子节点。
Status insertBST(BiTree &T, ElemType e) {if (!T) {T = (TreeNode *)malloc(sizeof(TreeNode));if (!T) {return ERROR;}T->data = e;T->left = T->right = nullptr;return OK;} else if (e < T->data) {return insertBST(T->left, e);} else if (e > T->data) {return insertBST(T->right, e);}return OK;
}void inorderInsert(BiTree &T, BiTree &dst) {if (T) {inorderInsert(T->left, dst);insertBST(dst, T->data);inorderInsert(T->right, dst);}
}

怎样从二叉排序树得到有序表。

中序遍历二叉排序树可得到一个关键字的有序序列。

void inorderPrint(BiTree &T) {if (T) {inorderPrint(T->left);cout << T->data << " ";inorderPrint(T->right);}
}

已知长度为 n 的表按表中元素顺序构造二叉平衡树,图示构造过程。

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

相关文章:

  • PyTorch中“No module named ‘torch._six‘“的报错场景及处理方法
  • Spring Boot 集成 MinIO 实现文件上传
  • 目标跟踪——KCF源码用python实现
  • 前端 转换笔记
  • 个人开发笔记
  • pdf压缩,pdf压缩在线,pdf文件太大怎么变小
  • Go 如何使用指针灵活操作内存
  • 【面试干货】Java中的++操作符与线程安全性
  • NLP学习与踩坑记录(持续更新版)
  • Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别
  • 微信小程序常用标签及其用法
  • 开发查询订单信息fastGPT智能体工作流 将工作流接入到人工客服系统
  • Flink集群运行模式
  • XSS 安全漏洞介绍及修复方案
  • 基于STM32的智能仓库管理系统
  • LeetCode —— 只出现一次的数字
  • python遍历文件夹中所有图片
  • 速盾:DDOS能打死高防ip吗?
  • 3dsMax怎样让渲染效果更逼真出色?三套低中高参数设置
  • Android的OverlayFS原理与作用
  • 奇点临近:人类与智能时代的未来
  • NAS教程丨铁威马如何登录 SSH终端?
  • 2024-06-24 百度地图的使用及gps定位坐标获取
  • Python二级考试试题②
  • 安装和使用nvm安装Nodejs
  • 非遗!四川省21市非遗大师工作室申报认定条件程序和认定补贴经费支持(管理办法)
  • uni-app系列:uni.navigateTo传值跳转
  • 6.3万美刀BTC的车还能上吗?
  • 在 Vue 3 中设置 `@` 指向根目录的方法汇总
  • 基于 NXP LS1046 +FPGA系列 CPCI 架构轨道交通专用板卡