c#二叉树存储
Alvation. 人气:0存储结构
二叉树是一种特殊的树,给个结点最多有两个子节点,并且子节点有左右之分,并且兄弟,父亲,孩子可以很方便的通过编号得到
1.在二叉树的第i层上最多有2i-1个结点(i>=1)
2.深度为k的二叉树至多有2i-1个结点
3.对于一个二叉树,假设它有n个结点,对结点进行从1开始编号,对任一结点i满足下面
a.它的双亲是节点i/2(除了i=1的情况)
b.左孩子是2i,右孩子是2i+1
c.如果2i>i说明无左孩子 2i+1>n说明无右孩子
二叉树的遍历
二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中的所有结点,使每个结点被访问一次且仅被访问一次
1.前序遍历
先输出当前结点的数据,再依次遍历输出左结点和右结点
2.中序遍历
先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点
3.后序遍历
先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据
4.层序遍历
从树的第一层开始,从上到下逐层遍历,再同一层中,从左到右对结点逐个访问输出
以下代码可以在c#中实现遍历
加载全部内容