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.前序遍历
先输出当前结点的数据,再依次遍历输出左结点和右结点
2.中序遍历
先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点
3.后序遍历
先遍历输出左结点,再遍历输出右结点,最后输出当前结点的数据
4.层序遍历
从树的第一层开始,从上到下逐层遍历,再同一层中,从左到右对结点逐个访问输出
以下代码可以在c#中实现遍历
到此这篇关于c#二叉树存储介绍的文章就介绍到这了,更多相关c#二叉树存储内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341