二叉树创建及遍历
文章平均质量分 60
二叉树是一种非常重要的数据结构,本专栏针对二叉树的创建、遍历和简单应用撰写了一系列文章,仅供交流学习用。
笑看峰云
坚持做一件事,你一定会有收获
展开
-
二叉树树叶统计算法详解
二叉树树叶,就是度为零的结点,或者说左右子树都为空的结点就是树叶。要统计这些树叶的个数,也就是统计一下左右子树均为空的结点个数,因此只需要在二叉树上依次查看每一个结点的左右子树是否为空即可,可以安装先序遍历算法来统计,也可以按照中序遍历、后序遍历和层次遍历等算法来统计。本文给出了基于二叉树层次遍历算法来统计二叉树树叶个数的算法及其基于C语言的实现。.........原创 2022-07-29 14:27:10 · 5903 阅读 · 1 评论 -
计算二叉树深度算法(递归、非递归)入门详解
二叉树在应用时,经常需要知道二叉树的深度。二叉树的深度就是二叉树的层数,即从树根算起,到最底下一层的层数是多少,即二叉树中结点的最大层次值。本文给出了计算二叉树深度的算法,包括递归算法和非递归算法。......原创 2022-07-28 22:22:05 · 27760 阅读 · 4 评论 -
二叉树遍历之后序遍历(非递归、递归)入门详解
二叉树后序遍历不如先序遍历简单,是相对最复杂的一种遍历方法。访问结点的次序是:“左—>右—>根”,也就是首先访问左子树,之后访问右子树,最后访问树根。对于左、右子树而言,其访问的次序依然是“左—>右—>根”。也就是说,对于每一棵子树,都是最后访问树根。...原创 2022-07-28 19:33:45 · 30876 阅读 · 3 评论 -
二叉树遍历之层次遍历算法入门详解
层次遍历的原理很简单,总结为一句话就是“从上到下,从左到右”,就是从树根开始逐层访问二叉树的结点,每一层按照从左到右的次序进行访问。为了方便实现层次遍历,可以引入队列来缓存二叉树上的所有结点,出队列则访问。入队列的规则:树根先入,之后立刻出队列并访问,然后树根的左、右子树树根依次入队列,之后依次出队列。没出来一个结点,都将其左、右子树树根依次入队(为空者不入)。.........原创 2022-07-22 23:00:56 · 6082 阅读 · 0 评论 -
二叉树遍历之中序遍历算法(非递归、递归)入门详解
中序遍历的原理很简单,也就是把树根的访问放在中间。访问结点的次序是:“左—>根—>右”,也就是首先访问左子树,之后访问树根,最后访问右子树。对于左、右子树而言,其访问的次序依然是“左—>根—>右”。不要小看这里的次序发生的改变,其实具体的实现方式比先序遍历也要麻烦了。二叉树的中序遍历与先序遍历一样,都可以通过递归算法实现,也可以通过非递归算法实现。......原创 2022-07-22 20:34:06 · 22188 阅读 · 1 评论 -
二叉树遍历之先序遍历算法(非递归、递归)入门详解
二叉树的遍历常见的方法有先序遍历、中序遍历、后序遍历和层次遍历等,本文给出了C语言版本的先序遍历二叉树的非递归算法和递归算法。原创 2022-07-21 18:21:33 · 11161 阅读 · 0 评论 -
二叉树创建之层次法入门详解
所谓的层次法其实就是按照二叉树中结点所在的“层”进行遍历,每一层遍历的规则是从左到右。因此层次遍历其实就是按照完全二叉树中结点的编号次序进行遍历的,但是二叉树不一定都是完全二叉树,因此涉及到虚拟的补充成完全二叉树,然后再进行层次遍历。本文给出了C语言版的二叉树层次遍历算法详细过程。...原创 2022-07-20 20:49:36 · 1862 阅读 · 0 评论 -
二叉树创建之先序法-递归算法
本文给出了C语言版本的先序创建二叉树的递归算法。原创 2022-07-20 10:41:49 · 3287 阅读 · 0 评论 -
二叉树创建之先序法(非递归算法)入门详解(C语言版)
二叉树是一种非常重要的非线性数据结构,在信号处理、移动通讯等应用中均有重要的应用。在二叉树的应用中,首先要建立二叉树。本文针对二叉树的先序建立过程给出了详细的实现过程,包括非递归算法和递归算法两种不同的实现模式。所谓的先序法,就是按照先序遍历二叉树的流程创建二叉树。使用的二叉树数据如下图所示。本文给出了C语言版本的先序创建二叉树的非递归算法。......原创 2022-07-19 23:43:20 · 8159 阅读 · 3 评论