树: 是n个节点的有限集,由一个根节点和若干个子树构成。和我们生活中的树结构相似,n>0时根节点是唯一的,不能存在多个根节点。其中子树没有限制可以有多个,但是子树一定不相交。

二叉树: 是由一个根节点和两颗互不相交的分别称为根节点的左子树和右子树的二叉树组成。二叉树的每个节点最多有两个子节点,分别是左子节点和右子节点。二叉树中,有两种比较特殊的树,分别是满二叉树和完全二叉树。满二叉树又是完全二叉树的一种特殊情况。数组插入时左子节点要小于父节点,右子节点要大于父节点。

完全二叉树: 即所有的编号都要连续,节点的编号中间没有空位。

平衡二叉树: 二叉树中任意一个节点的左右子树的高度相差不能大于 1。这样看着比较对称而平衡。

红黑树: R-B Tree ,它是一种不严格的平衡二叉查找树,一类被标记为黑色,一类被标记为红色。
一棵红黑树还需要满足这样几个要求:

  • 根节点是黑色的;
  • 每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存储数据;
  • 任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的;
  • 每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点。

  • ························································································································································

数据结构与算法:树(Tree)相关推荐

  1. 数据结构与算法:树 二叉树入门(一)

    Tips: 采用java语言,关注博主,底部附有完整代码 工具:IDEA 本系列介绍的是数据结构: 树 这是第1篇目前计划一共有12篇: 二叉树入门 本篇 顺序二叉树 线索化二叉树 堆排序 赫夫曼树( ...

  2. Java数据结构与算法——树(基本概念,很重要)

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 有网友私信我,期待我的下一篇数据结构.非常荣幸文章被认可,也非常感谢你们的监督. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督 ...

  3. python遍历树结构_python 数据结构与算法——树的遍历

    1.广度优先遍历 2.深度优先遍历 先序遍历:把根放在最前面 中序遍历:把根放在中间 后序遍历:把根放在后面 # -*- coding: utf-8 -*- """ Cr ...

  4. Python__数据结构与算法——树、二叉树(实现先、中、后序遍历)

    目录 一.树 二.二叉树 树和前面所讲的表.堆栈和队列等这些线性数据结构不同,树不是线性的.在处理较多数据时,使用线性结构较慢,而使用树结构则可以提高处理速度.不过,相对于线性的表.堆栈和队列等线性数 ...

  5. 数据结构与算法——树和二叉树***

    第五章 :树和二叉树 树和图是两种重要的非线性结构.线性结构中结点具有唯一前驱和唯一后继的关系,而非线性结构中结点之间的关系不再具有这种唯一性.其中,树形结构中结点间的关系是前驱唯一而后继不唯一,即元 ...

  6. JavaScript数据结构与算法 - 树

    1. 树数据结构 树是一种分层数据的抽象模型 树是一种非顺序的数据结构 树对于存储需要快速查找的数据非常有用 常见例子:如公司的组织架构图 树结构: 2. 二叉树和二叉搜索树 二叉树: 只能有左右两个 ...

  7. 数据结构与算法——树的广度优先遍历

    实现:往完全二叉树中添加一个节点,使得添加之后这棵树依旧是一棵完全二叉树 class Node:def __init__(self, val):self.val = val # 数据域self.lef ...

  8. 数据结构与算法 | 树与二叉树

    树的概念 二叉树的概念 树的概念和结构 树是一种非线性的数据结构,它是由n个有限结点组成一个具有层次关系的集合,把它叫做树是因为它看起来像一棵倒挂的树,如图所示 有一个特殊的结点,称为根节点,根节点没 ...

  9. js-js数据结构和算法-树

    树 树是一种分层数据的抽象模型 一个树结构包含一系列存在父子关系的节点.每个节点都有一个父节点(除了顶部的第一个 节点)以及零个或多个子节点: 根节点:位于树顶部的节点叫作根节点.它没有父节点.树中的 ...

  10. 数据结构与算法——树与二叉树详细分享

    一.树 1.定义:由n个有限节点组成一个具有层次关系的集合,看起来像一颗倒挂的树,特点: 2.特点: a.每个节点有0个或多个子节点 b.没有父节点的节点称为根节点(A) c.每一个非根节点有且只有一 ...

最新文章

  1. [转]将C#程序嵌入资源中(C# 调用嵌入资源的EXE文件方法)
  2. 个性化资源管理器软件Q-dir_6.36(附安装包)
  3. 第二章:方法区和运行时常量池溢出
  4. BZOJ 2720 [Violet 5]列队春游 ——期望DP
  5. python3读取网页_python3+selenium获取页面加载的所有静态资源文件链接操作
  6. 关于Pac-Man,你所要了解的 一切
  7. php语录网站,杨泽业:给你的wordpress博客添加经典语录功能,适合所有php网站
  8. 百度自动提交链接的php应用seo功能实例
  9. 体积的2 3科学计算机怎么算,小学三年级上册科学第2课-测量体积教案-冀人版
  10. Android MultiAutocompleteTextView
  11. java关键字与解释_5.Java基础知识-注释和关键字
  12. mysql5.6二进制包_MySQL 5.6版本二进制包多实例安装
  13. 通过PDMS系统文件快速批量添加颜色规则
  14. MATLAB 点运算与除法
  15. HTML页面基本结构代码,网页基本代码结构
  16. erp系统有什么用?中小企业实施erp软件的好处有哪些
  17. 迅雷 linux 命令行 版本号,在Linux系统下使用wine运行迅雷5的方法
  18. linux的文件保护,如何在Linux中保护文件和目录免遭删除
  19. light oj 1224
  20. 现货白银如何计算盈亏

热门文章

  1. 机遇和挑战并存 盛大的未来在云端
  2. 歌词查询java_实验10—— java读取歌词文件内容动画输出
  3. 评估指标(Metric)(二)
  4. 关于欧拉角和Gimbal lock
  5. 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转(创新工厂涂鸦移动面试题)
  6. tp5 自动生成api文档
  7. 关于Marathon-lb
  8. 物联网解决方案世界大会-IOTSWC
  9. MySQL排除节假日,计算日期差
  10. r语言各形状编号_R语言plot()函数的符号、颜色和尺寸