1、二叉树

  • 二叉树是树的一种,二叉树是每个父节点最多只有两个子节点的树。

2、二叉搜索树

  • 二叉搜索树是二叉树的一种,他的特点是根节点/父节点的左子树上的节点都比根节点/父节点小,而右子树上的节点都比根节点/父节点要大。

3、二叉平衡树

  • 二叉平衡树是二叉搜索树的一种拓展,比较典型的是 红-黑树 。因为二叉搜索树有可能因为插入的节点大部分都大于、或者大部分都小于根节点,使得二叉树节点增加严重向左/右某一边倾斜,从而导致搜索性能大打折扣,所以引入了二叉平衡树。跟二叉搜索树相比,它的特点是可以通过每次插入后的调整,使得左右两个子树的高度差的绝对值不超过1,达到让树保持一定程度的矮胖,优化搜索的效率。

数据结构与算法笔记 二叉树、二叉搜索树、二叉平衡树的区分与关系相关推荐

  1. 数据结构与算法笔记(十六)—— 二叉搜索树

    一.二叉搜索树定义 二叉搜索树(Binary Search Tree),又名二叉排序树(Binary Sort Tree). 二叉搜索树是具有有以下性质的二叉树: 若左子树不为空,则左子树上所有节点的 ...

  2. 数据结构与算法笔记(青岛大学王卓老师视频)

    写在前面的话: 因为在学习数据结构之前,学习过一年的算法,所以有一些基础,一些我觉得 没必要的代码或知识就没写上,记得多是一些知识点,写的可能对于别人来说 很难接受,望谅解.我学习算法是在Acwing ...

  3. 数据结构与算法:二叉树专题

    数据结构与算法:二叉树专题 前言 前提条件 基础知识 二叉树链式存储结构 二叉树中序遍历 二叉树层序遍历 常见编程题 把一个有序整数数组放到二叉树中 逐层打印二叉树结点数据 求一棵二叉树的最大子树和 ...

  4. 数据结构与算法之-----二叉树(一)

    [ 写在前面的话:本专栏的主要内容:数据结构与算法. 1.对于初识数据结构的小伙伴们,鉴于后面的数据结构的构建会使用到专栏前面的内容,包括具体数据结构的应用,所使用到的数据结构,也是自己构建的,未使用 ...

  5. 数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树

    [本文谢绝转载,原文来自http://990487026.blog.51cto.com] 树 数据结构与算法 3:二叉树,遍历,创建,释放,拷贝,求高度,面试,线索树二叉树的创建,关系建立二叉树的创建 ...

  6. 数据结构与算法笔记(十五)—— 散列(哈希表)

    一.前沿 1.1.直接寻址表 当关键字的全域U比较小时,直接寻址是一种简单而有效的技术.假设某应用要用到一个动态集合,其中每个元素都有一个取自全域U={0,1,-,m-1)的关键字,此处m是一个不很大 ...

  7. php实现二叉搜索树,二叉搜索树有几种实现方式

    二叉搜索树有一种实现方式,就是用链表实现,而链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,且链表是由一系列结点组成,结点可以在运行时动态生成. ...

  8. JS数据结构与算法 笔记

    JS数据结构与算法笔记 前言:不定时更新说明 1. 栈(Stack) 1.1 基于数组实现栈 1.2 基于对象实现栈 1.3 基于链表实现栈 1.4 栈的简单应用 1.4.1 字符串中的括号匹配问题 ...

  9. 数据结构与算法笔记 - 绪论

    数据结构与算法笔记 - 绪论 1. 什么是计算 2. 评判DSA优劣的参照(直尺) 3. 度量DSA性能的尺度(刻度) 4. DSA的性能度量的方法 5. DSA性能的设计及其优化 x1. 理论模型与 ...

  10. 常考数据结构与算法:输出二叉树的右视图

    题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 上图树的右视图为:{1,4,3,7} 做此题之前可以先做下面3道题: 1. 常考数据结构与算法:求二叉树的层序遍历 2.常 ...

最新文章

  1. lucene introduction
  2. SSL 2311-车厢调度[栈]
  3. LevelDB是什么?为什么我们需要K-V存储?
  4. 学习threeJS(一)--第一个threeJs
  5. 机器学习在销售报价单的产品推荐场景中的作用
  6. 如何在vmware虚拟机下挂载windows硬盘
  7. hash table(开放寻址法-二次探查实现的哈希表)
  8. stm32 485和232可以用同一个串口吗_STM32的复用时钟何时开启?
  9. ubuntu14.04 安装php5-fpm
  10. 多个if和一个ifelse的区别
  11. JavaScript问题01 js代码放在header和body的区别
  12. Ubuntu14.04 64位安装iNode客户端
  13. dbv oracle驱动,Oracle DBV工具
  14. php pc无法登录失败,window_win7系统在局域网共享文件提示登录失败用户账户限制的故障原因及解决方法,win7操作系统在局域网共享文件 - phpStudy...
  15. 算法系列之算法学习书籍以及资料推荐
  16. 009 二维随机变量分布 min max 习题
  17. Unknown column 'JOIN.id' in 'order clause'和 Unknown column 'XXXX.id' in 'order clause'的解决办法
  18. SD-Host SD_CLK模块
  19. 可用于电子书阅读器的开源阅读器软件项目
  20. 20190323-Excel使用手册

热门文章

  1. 08CMS之AJAX
  2. qq悄悄话查看器-分析报告
  3. 波兰表达式和逆波兰表达式
  4. java 信鸽推送demo_iOS中关于信鸽推送的使用demo详解
  5. 【java支付一 】java整合银联支付
  6. 【项目管理工具】SVN 项目版本管理工具
  7. Oracle 数据库实例
  8. B/S神思SS628(100)身份证阅读器开发
  9. HTML 命名规范说明
  10. 小米4android8.0root,小米小米 5X(安卓8.0)手机完美获取root教程,最强root工具,亲测可用!...