c#数据结构--树

树结构

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
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值