经典算法:二叉树相关的算法集合

本文详细介绍了二叉树的定义,包括二叉树、满二叉树和完全二叉树的概念。探讨了二叉树的链式存储结构,重点讲解了二叉链结点的定义及创建方法,包括利用中序遍历和前序遍历/后序遍历建树的区别。此外,还涵盖了非递归遍历(前序、中序和后序)、层序遍历,以及二叉树高度、叶子节点计数和特定值查找等实用技巧。

目录

一、二叉树的定义

二、 二叉树的链式存储结构

 三、二叉链结点定义

四、二叉树的创建

1、利用中序,前序遍历建二叉树

2、利用中序,后序遍历建二叉树

3、前序与后序遍历不能确定一棵二叉树

五、二叉树的非递归遍历

六,层序遍历

七、二叉树的高度

八、求二叉树的叶子结点数目

九、在二叉树上统计节点值等于c的个数


 

一、二叉树的定义

1、二叉树:n(n≥0)个结点的有限集合。n=0的树称为空二叉树;n>0的二叉树由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成 。

        逻辑结构:  一对二(1:2

        基本特征:

        ① 每个结点最多只有两棵子树(不存在度大于2的结点);

        ② 左子树和右子树次序不能颠倒。所以下面是两棵不同的树

        注意二叉树不是有序树

2、满二叉树:在一棵二叉树中,如果所有分支结点都存在左 子树和右子树,并且所有叶子结点都在同一层上,这样的  二叉树称为满二叉树。

3、完全二叉树:如果一棵深度为k,有n个结点的二叉树中各    结点能够与深度为k的顺序编号的满二叉树从0n-1标号    的 结点相对应的二叉树称为完全二叉树。

二、 二叉树的链式存储结构

二叉树的链式存储结构是用指针建立二叉树中结点之间的关系。二叉树最常用的的链式存储结构是二叉链。二叉链存储结构的每个结点包含三个域,分别是数据域data、左孩子指针域leftChild和右孩子指针域rightChild。二叉链存储结构中每个结点的图示结构为:

 二叉链存储结构的二叉树也有不带头结点和带头结点两种。带头结点的二叉链存

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值