c#数据结构--树

本文深入探讨了树结构,特别是关注二叉树的存储方式,包括顺序存储和代码实现。同时,文章讲解了二叉排序树的概念,为C#开发者提供了数据结构的宝贵知识。
摘要由CSDN通过智能技术生成

树结构

1.树的定义 树是有n(n>=0 )个结点的有限集。
2.树只有一个根节点(Root),从根节点以外扩散的的集合可以成为根的子树(SubTree)。
3.b,c是a的左 右子节点。a又成为b,c的父节点。
4.度:子节点的个数。
5.树的层次:这个树有四层。 最大层是树的深度。

树的存储结构

1.双亲表示法  data parent 
2.孩子表示  data child1 child2
3. 孩子兄弟表示法 data firstchild rightslib

二叉树

1、二叉树是一种特殊的树,每个结点最多有两个子结点。
2.根节点的左右子树。


2.满二叉树 :除了最后一层 其他的层都有两个结点,满了状态。
3.完全二叉树 最后一层可以有空,但是 有顺序的空。
4.非完全二叉树,10位置是空的,完全二叉树必须 最后一层可以是8, 8,9 8,9,10 不能断开的空

二叉树的存储

1.顺序存储


存储的结果实 a,b,c,d,e,f,g,h,i,j 从上到到下从左到右的方式向看漫画一样。
2.遍历的方式
1, 前序遍历  口诀:先根再左右子结点。       a 找 b,b有左右子结点,b,再找d,d是根,再找h,i,j依次找。
2,中序遍历   左根右。  a有子树,找b,找d,HDIBJEAFCG
3.后序遍历 左右根。 HID JEBFGCA
4.层序遍历 就是abc。。一层从左到右。

2.代码实现

顺序存储只适合完全二叉树
  public class BiTree<T>
    {
        private T[] arr;//存放数据
        private int capacity;//储存的容量
        priva
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值