ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【C# 数据结构与算法】树

2022-05-19 08:01:16  阅读:162  来源: 互联网

标签:结点 树结构 C# 后继 空树 算法 广义 数据结构 节点


树的定义

树可以用递归的形式来定义:树T是由n(n>=0)个结点组成的有限集合,他或者是颗空树,或者包含一个根结点和零或若干棵互不相干的子树。

可以使用广义表(纯表)的形式树结构,如下树结构用广义表表示:A(B(E,F),C(G),D(H,I,J))

 

 表示树结构的广义表没有共享和递归成分,是一种纯表。广义表中的原子对应于树的叶节点,树的非叶子结点则用子表结构表示。

空树:节点树为0的树,即n=0时,称为空树。

非空树:一颗非空树T具有以下特点

            (1)有且仅有一个根节点

              (2)没有后继的节点称为“叶子节点”,有后继的节点称为“分子节点”.

              (3)当树的结点数n>1时,根结点之外的其他结点可以分为m(m>=1)个互不相交的集合T1,T2,T3.。。。Tm,其中每个集合Ti(1<=i<=m)具有与树T相同的树结构,称为子树。每颗子树的根结点有且仅有一个直接的前驱结点。

 

 

                            这是图

 

 

树的分类:

树结构可以分为有序和无序树两种类型,有序树种最常用的是二叉树。

  

 

 

树结构的应用场景:

操作系统的文件系统,根目录是文件树的根节点,子目录是树中的分子节点,文件是树结构的叶子节点。

除了根节点外,任何节点有且仅有一个前驱,有多个前驱的节点的叫图。叶子节点没用后继节点。

 

 

森林

 

若干颗互不相交的树的集合称为森林。给森林加上一个根节点就变成一颗树。将树的根结点删除就变成由子树组成的森林。

 

 

 

 

 

 

 

 

 C# 节点的深度是从0开始计算的。

 

标签:结点,树结构,C#,后继,空树,算法,广义,数据结构,节点
来源: https://www.cnblogs.com/cdaniu/p/16283172.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有