目录 一、背景 二、基本概念 2.1 结点 2.2 二叉树 2.2.1 二叉树的深度 2.3 满二叉树 2.4 完全二叉树 2.4.1 完全二叉树的线性存储 ...
目录 二叉树 Binary Tree 回顾 设计 属性与节点 简单方法 有趣的遍历 前序遍历 中序遍历 后序遍历 层序遍历 补充 增强遍历接口 树的判定 完全二叉树的判定 真二叉树的判定 树的高度 前驱与后继 寻找前驱节点 寻找后继节点 小结 声明 二叉树 Binary Tree 回顾 在前面的文章 二叉树前奏中,我们对于二叉树的一些基本概念进行了回顾,同时对比了线性结构与树形结构,总结了一些常 ...
2020-09-18 10:54 0 1737 推荐指数:
目录 一、背景 二、基本概念 2.1 结点 2.2 二叉树 2.2.1 二叉树的深度 2.3 满二叉树 2.4 完全二叉树 2.4.1 完全二叉树的线性存储 ...
前言 上一篇文章讨论的二叉搜索树,其时间复杂度最好的情况下是O(log(n)),但是最坏的情况是O(n),什么时候是O(n)呢? 像这样: 如果先插入10,再插入20,再插入30,再插入40就会成上边这个样子 这个就像是双向链表,我们期望它是下面这个样子 ...
这篇着重讲如何遍历二叉树,因为之前再次遇到二叉树时,发现前序遍历、中序遍历 、后序遍历,具体怎么找已经忘了。只剩下口诀: 前序遍历:根结点 ---> 左子树 ---> 右子树 中序遍历:左子树---> 根结点 ---> 右子树 后序遍历:左子树 ---> 右子树 ...
前言 树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树 ...
二叉树的定义 以递归形式给出的:一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。二又树的特点是每个结点最多有两个子女,分别称为该结点的左子女和右子女。在二又树中不存在度大于2的结点,并且二又树的子树有左、右之分 ...
二叉树普通的遍历分为三种,分别是前序遍历(先序遍历)、中序遍历、后序遍历。 这是从别处拷来的一张图,以此图为例说明: 前序遍历的顺序是:根节点、左节点、右节点。 从第一个根节点A开始为ABE,接下来是B开始,由于B没有左节点,所以遍历为BC;然后是E作为开始遍历为EF,C作为开始遍历 ...
一、线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。 因此,提出了一种方法,利用原来的空链域 ...
一、线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。 因此,提出了一种方法,利用原来的空链域存放指针,指向树中其他结点。这种指针 ...