平衡二叉树总结一:二叉搜索树

本文回顾了平衡二叉树的概念,强调其在数据结构中的重要性。平衡二叉树是一种特殊的二叉搜索树,保持左右子树高度平衡以确保高效的搜索和插入操作。文中提及了在递增序列插入时可能导致效率降低的问题,并提到了几种平衡二叉树的类型,如AVL树、红黑树等,表示将对这些树进行后续的总结。
摘要由CSDN通过智能技术生成

  这段时间一直再刷leetcode,现在刷了快一半了吧,感觉没什么状态了,再继续刷可能就不太好了,想想不如回头再补补算法吧。总结了自己在基础算法上的一些短板,准备后面这些时间把它们都补上。好了,上正题。

  平衡二叉树算是应用最广泛的树型结构了吧,至少在内存里面是吧。刚开始学数据结构的时候,树的那一章基本没怎么看,大部分精力都放在了排序和图论里,而且感觉树也挺简单的,现在刷题才慢慢发现这种数据结构的威力,虽然c++的算法库已经有了现成的工具,但是学习好这种数据结构的思想还是很有必要的。

  首先,平衡二叉树是一颗二叉搜索树。其结构满足 root->left->val < root-> val < root->right->val 即根节点左儿子值 < 根节点值 < 右儿子值,并且根节点左右儿子也是二叉搜索树。

第一次作图,凑或着看吧

struct searchTree{
  searchTree* left;
  searchTree* right;
  int val;
}
typedef serachTree* tree;
二叉搜索树的结构,c++版。主要是一个左指针、一个右指针、一个值,不难看出left与right其实是“多余”的,然而没有这俩多余的域二叉树的搜索效率就无从谈起,这就是空间
换时间的典型吧。


  1.二叉搜索树的搜索

  二叉搜索树操作都很简单,搜索时,我们只需比较待搜索值与根节

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值