二叉树前言

本篇章主要是二叉树的学习和描述.首先,老生常谈,说下二叉树的定义.

二叉树(Binary tree)是n(n≥0)个结点的有限集合。
若n=0时称为空树,否则:
⑴ 有且只有一个特殊的称为树的根(Root)结点;
⑵ 若n>1时,其余的结点被分成为二个互不相交的子集T1,T2,分别称之为左、右子树,并且左、右子树又都是二叉树。
由此可知,二叉树的定义是递归的。所以关于很多二叉树的算法实现我们都可以根据它定义的递归性质进行实现,或者在递归的过程中加入一些剪枝判断实现.

二叉树这个篇章算法主要分为三块内容
1,二叉树的创建,二叉树的遍历(先序,中序,后序的递归与非递归实现,层次遍历的实现以及带行号的二叉树层次遍历)

2,二叉树的宽度,高度,二叉树节点个数(总节点个数,叶子节点,度为1的节点,度为2的节点)

3,二叉树的左右子树交换,查找节点在二叉树中的层数,叶子节点到根节点的逆路径,任意两个节点的公共祖先(LCA, Lowest Common Ancestor)

代码下载

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值