首页 > 其他分享 >树结构的复习

树结构的复习

时间:2023-01-17 18:00:56浏览次数:43  
标签:结点 复习 树结构 孩子 链表 双亲 指针

树:n个结点的有限集。n=0时称为空树。在任意一棵非空树中,仅有一个根结点;当n>1时,其余结点可分为m个互不相交的有限集,每个集合又是一个树结构,相当于D&C

树:一对多的数据结构.

结点的分类:

结点拥有子树数称为结点的度。

叶结点或终端结点:度为0。

非终端结点或分支结点:度不为0。

内部结点:除跟结点之外的分支结点。

树的度:树内各结点度的最大值。

结点间的关系:

结点的子树的根称为该结点的孩子,相应的,该结点称为孩子的双亲;

同一个双亲的孩子之间互称为兄弟;

以某结点为根的子树中的任一结点都称为该结点的子孙。

结点的层次从根开始定义起,根为第一层,孩子为第二层;

其双亲在同一层的结点互为堂兄弟;

树中结点的最大层次称为树的深度;

分左右为有序树,否者为无序树;

森林是m棵互不相交树的集合,对于树中每个结点而言,其子树的集合即为森林。

树结构最核心的特征:

根节点:无双亲,唯一;

叶结点:无孩子,可以多个;

中间结点:一个双亲多个孩子;

 

一,双亲表示法

类似于静态链表。其指针指向双亲结点!(找孩子很麻烦)

是否将结构扩展为有双亲域,长子域,右兄弟域,视情况而定。

因为,存储结构的设计是一个非常灵活的过程。一个存储结构设计的是否合理,取决于基于该存储结构的运算是否合适,时间复杂度好不好等。

复杂度的结构意味着更多的时间与空间的开销。

 

二,孩子表示法

由于树中每个结点可能有多棵子树,可以考虑多重链表,即每个结点有多各指针域,其中每个指针指向一棵子树的根结点,我们把这种方法叫做多重链表表示法。

由于孩子结点数目不同有两种解决方案:

方案一:指针域的个数等于树的度(有点浪费空间了,如果仅有一结点的度极大)。

方案二:

 

标签:结点,复习,树结构,孩子,链表,双亲,指针
From: https://www.cnblogs.com/abwork-space/p/17058440.html

相关文章

  • BBS项目复习总结
    BBS之用户注册思路梳理:1.新建一个django项目,名称可以和bbs相关,准备好数据库、静态模板资源及配置好模板、数据库、用户表重命名配置。2.先准备bbs项目8张表,并理清表之前......
  • IoT Network Transport Layer 复习笔记 南安
    ServicesProvidedtoApplicationLayer:TCP/IPUDPTransportServicePrimitives传输服务原语Addressing寻址当一个应用进程希望与另一个远程应用进程建立连接......
  • Vue 快速复习
    基本语法模板语法1.{{msg}}2.v-html="attName"3.v-bind:xxx="attName"or:xxx="attName"==><tagxxx="val"/>4.在模板中使用js表达式,比如{{ok?"YES"......
  • jQuery复习(CSS模块/筛选模块/文档处理(CUD)模块/事件模块)
    视频CSS模块style样式css(styleName):根据样式名得到对应的值css(styleName,value):设置一个样式css({多个样式对}):设置多个样式位置坐标offset():读/......
  • 线段树 复习笔记
    线段树是一类处理区间问题的优秀算法,通过用空间换时间来得到相对平均的复杂度。同时,也是一个OIer从萌新到提高的重要过渡。1.线段树的基本概念不难看出线段树是一棵......
  • 复习第7点-7.SpringMVC 的响应方式
    1.使用ServletAPI实现转发/*使用HttpServletRequest对象实现请求转发*/@RequestMapping("/httpServletRequest")publicvoidmethod1(HttpServle......
  • 复习第6点-6.SpringMVC作用域传值
    作用域范围对象名称作用范围application整个作用范围session在当前会话中有效request在当前请求中有效page在当前页面有效request/session/app......
  • SQL语句复习
    数据库定义语言(DDL)数据库操作创建数据库createdatabase数据库名为了能够支持中文,我们在创建时可以设定编码格式:CREATEDATABASEIFNOTEXISTS数据库名DEFAULTC......
  • 【Python】List 和 Dictionary 复习
    Python列表(List)1.简介List属于Python中最基本数据结构——序列,同为序列的还有tuple等。Python有6个序列的内置类型,但最常见的是列表和元组。序列中的每个元素都......
  • Java控制流程(复习)
    流程控制语句流程控制语句包括:顺序结构,分支结构,循环结构分支结构if语句:第一种:if(关系表达式){语句体}else{语句体2}第二种:if(){}......