树的内容比较多,我一步步积累到这篇文章中

数据结构

最基本的二叉树,结构体中分别有基本的左孩子节点,有孩子节点,val数据值等基本内容

二叉搜索树:左孩子要比父节点小,右孩子要比父节点大。由于树构建完成后是有序的,所以插入,删除,查找都会有很大的优势。

举一个二叉搜索树的例子:当我们实现排名的数据结构的时候,我们发现,对于任意一个根节点,左子树的排名都比自己小,右子树的排名都比自己大。也就是说,比如1~10000人的排名,数据为10000个人的分数。如果想要查找我们的位置,显然很容易。除此之外,我们可以利用它计算排名。当我们进入右子树的时候,左边的分数都是比自己小的,不考虑,当我们进入左子树的时候,右子树的分数都比自己大,count右子树的节点,将会获得排名在自己后面的人数。

字典树:(字符串树)常用于存储字符串,查询效率比哈希树高。它的特点是不同的单词之间可以共享字符串。比如add和am共享a。这样如果把一个单词存储为从根节点的子节点到叶节点,节点数量会大大减少。根节点的子节点一共才26个。

平衡二叉树
平衡二叉树又称为AVL树,是一种特殊的二叉排序树。其左右子树都是平衡二叉树,且左右子树高度之差的绝对值不超过1。一句话表述为:以树中所有结点为根的树的左右子树高度之差的绝对值不超过1。将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子只可能是-1、0和1。只要二叉树上有一个结点的平衡因子的绝对值大于1,则该二叉树就是不平衡的。

但是虽然平衡二叉树平衡度高,但是当插入或删除的时候,会由多次旋转才可以得到,改变结构。

红黑树

C++ 各类树的算法相关推荐

  1. k-d tree树 近邻算法

    k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构.主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索). 应用背景 SIFT算法中做特征点匹配的时候就会利用到k ...

  2. 数据结构与算法笔记(十三)—— 树与树的算法

    一.树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构, 用来模拟具有树状结构性质的数据集合.它是由 n(n>=1)个有限节点组成一个具有层次关 系的集 ...

  3. ML之DT之CART:分类与回归树CART算法的简介、应用、经典案例之详细攻略

    ML之DT之CART:分类与回归树CART算法的简介.应用.经典案例之详细攻略 目录 分类与回归树CART算法简介 1.CART原理-比较ID3.C4.5 2.CART算法描述 CART算法的案经典案 ...

  4. Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现

    Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树.二叉查找树的插入节点.二叉查找树的删除.二叉树的遍历.平衡二叉树)C++语言实现 目录 树的基础知识 1.二叉树的遍-前序 ...

  5. ML之DT(树模型):DT(树模型算法)算法的简介、代码定义、案例应用之详细攻略

    ML之DT(树模型):DT(树模型算法)算法的简介.代码定义.案例应用之详细攻略 目录 树模型 1.A brief history of forests 2.树模型的复杂度 3.树模型的目标函数

  6. 对于树分治算法的初步理解

    树分治是基于树上问题的一种处理问题的方式 它有非常巧妙地结构,,它利用的是树的 边等效 和点的无序性 对树进行离散,抽象维护等效路径 和 子树关系的神奇算法 分治树有非常好的性质,把一些树写成分治树是 ...

  7. 机器学习中树模型算法总结之 决策树(下)

    写在前面 首先回顾一下上一篇的相关内容,主要是理论的介绍了决策树的模型及几种常见的特征选择准则,具体可参见机器学习中树模型算法总结之 决策树(上).今天主要接着学习,包括决策树的生成(依赖于第一篇的三 ...

  8. 机器学习中树模型算法总结之 决策树(上)

    写在前面 在网上看XGBoost资料的时候觉得自己以前看的树模型算法都忘得差不多了,所以就趁着这个机会把机器学习里的树模型算法重新再过一遍,主要包括决策树.随机森林.提升树.XGBoost等等. 1. ...

  9. 机器学习算法(二十五):KD树详解及KD树最近邻算法

    目录 1 KD树 1.1 什么是KD树 1.2 KD树的构建 1.3 KD树的插入 1.4 KD树的删除 1.5 KD树的最近邻搜索算法 1.5.1 举例:查询点(2.1,3.1) 1.5.2 举例: ...

最新文章

  1. “傻子”阿甘的大智慧
  2. 文件夹获取管理员权限脚本
  3. EM算法matlab和Java实现
  4. python随机生成10个整数列表_python_随机产生10个整数后找出最小值,最大值。
  5. 最简单代码ASP.NET开源QQ登陆for Oauth2.0
  6. rstudio查询命令_Rstudio支持可视化的Markdown编辑了?
  7. 2021-09-19SQL42,SQL44,SQL45
  8. 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序
  9. CALayer 新建
  10. 史上最全的程序员常用英语词汇 珍藏版
  11. Linux克隆后自动改uuid,解决克隆 Linux虚拟机后修改后的机器的ip、mac、uuid失败的问题...
  12. 优化 RTD 温度传感系统:接线配置
  13. 一致性算法之Raft算法
  14. 屏幕录制:4Easysoft Screen Recorder Mac中文版
  15. 【外卖cps源码分享】支持美团饿了么
  16. 乱象丛生or一路光明,看SSD市场发展现状
  17. 细说网络负载均衡技术
  18. html背景图片不完全填充,background-size为100% 100%时背景图填充不完整
  19. cassandra 学习笔记
  20. 机器学习算法之决策树算法

热门文章

  1. postgresql java类型_JAVA存取PostgreSQL大对象类型oid
  2. 形态学滤波:(1)腐蚀与膨胀 (2)开运算,闭运算,形态学梯度,顶帽,黑帽...
  3. cf706C(dp)
  4. JavaScript:JavaScript语法的详细介绍
  5. JSP开发环境配置问题解答
  6. mysql 4升级,MySQL_Sql_打怪升级_进阶篇_进阶4:常见函数
  7. 报告解读下载 | 中国软件根技术发展白皮书之数据库
  8. MySQL8.0版本升级建议及各类场景的操作方法
  9. 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下!
  10. MySql-Proxy之多路结果集归并