当前位置: 代码迷 >> 综合 >> 树相关概念
  详细解决方案

树相关概念

热度:95   发布时间:2023-10-08 18:30:32.0

树 (tree):

       树是一种常见的数据机构,它是一个由有限节点组成的一个具有层次关系的集合,数据就存在树的 这些节点中。

根节点:

         最顶层只有一个节点,称之为根节点,root节点。

叶子节点:

       如果每个节点下方没有任何分叉的话,就是叶子节点。

节点的高度:

     从某个节点出发,到叶子节点为止,最长简单路径上边的条数,称之为节点的高度。

节点的深度:

        从根节点root出发,到某个节点边的条数,称为该节点的深度。

二叉树:

       每个节点至多有两个子节点的树称为二叉树。

       二叉树世界中,最为重要的概念是 平衡二叉树、二叉查找树、红黑树

2. 平衡二叉树的性质:

  • (1) 树的左右高度差不能超过 1
  • (2) 任何往下递归的左子树与右子树,必须符合第一条性质
  • (3) 没有任何节点的k空树和只有根节点的树也是平衡二叉树

 二叉查找树

         二叉查找树又称为二叉搜索树, 即 Binary Search Tree, 也称为 二叉排序树。Java中集合的最终 目的就是加工数据,二叉查找树也是如此。

       二叉查找树特殊要求:

  • 1. 对于任意节点来说: 它的左子树上所有的节点的值都小于它,而它的右子树上所有节点的值都大于它。
  • 2.查找过程: 从根节点开始,沿简单的判断往下走,小于节点值往左走,大于节点的值往右走,直到找到 目标数据或者达到叶子节点还未找到。

      遍历所有节点常用的方式: 前序遍历、中序遍历、后序遍历

三者规律如下:

  • (1). 在任何递归子树中,左节点一定在右节点之前先遍历
  • (2). 前序、中序、后序,仅指根节点在遍历时的位置顺序
  •  
  • 前序遍历: 根节点、左节点、右节点
  • 中序: 左节点、根节点、右节点
  • 后序: 左节点、右节点、根节点
  相关解决方案