存储结构
二叉树是一种特殊的树,给个结点最多有两个子节点,并且子节点有左右之分,并且兄弟,父亲,孩子可以很方便的通过编号得到
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#中实现遍历
到此这篇关于c#二叉树存储介绍的文章就介绍到这了,更多相关c#二叉树存储内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!