c#二叉树存储介绍

存储结构

二叉树是一种特殊的树,给个结点最多有两个子节点,并且子节点有左右之分,并且兄弟,父亲,孩子可以很方便的通过编号得到

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.前序遍历

先输出当前结点的数据,再依次遍历输出左结点和右结点

c#二叉树存储介绍_第1张图片

2.中序遍历

先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点

c#二叉树存储介绍_第2张图片

3.后序遍历

先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据

c#二叉树存储介绍_第3张图片

4.层序遍历

从树的第一层开始,从上到下逐层遍历,再同一层中,从左到右对结点逐个访问输出

c#二叉树存储介绍_第4张图片

以下代码可以在c#中实现遍历

c#二叉树存储介绍_第5张图片

c#二叉树存储介绍_第6张图片

到此这篇关于c#二叉树存储介绍的文章就介绍到这了,更多相关c#二叉树存储内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(c#二叉树存储介绍)