Java教程

算法-------树

本文主要是介绍算法-------树,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.什么是树?
树的概念
2.二叉树
在这里插入图片描述
3.1,在二叉树的第i层上最多有 2i-1个结点(i>=1)

3.2,深度为k的二叉树至多有2k-1个结点
20+21+22+23+24+25+26+27+…+2k-1±1
=1+20+21+22+23+24+25+26+27+…+2k-1-1
=21+21+22+23+24+25+26+27+…+2k-1-1
=22+22+23+24+25+26+27+…+2k-1-1
=23+23+24+25+26+27+…+2k-1-1
=2k-1+2k-1-1
=2k-1
3.3,对于一个完全二叉树,假设它有n个结点,对结点进行从1开始编号,对任一结点i满足下面
a,它的双亲是结点 i/2 (除了i=1的情况)
b,左孩子是 2i 右孩子是 2i+1
c,如果2i>n 说明无左孩子 2i+1>n 说明无右孩子
4二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次且仅被访问一次。
4.1,前序遍历
先输出当前结点的数据,再依次遍历输出左结点和右结点
4.2,中序遍历
先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点
4.3 后序遍历
先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据

这篇关于算法-------树的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!