博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构(六)树
阅读量:6905 次
发布时间:2019-06-27

本文共 429 字,大约阅读时间需要 1 分钟。

定义

 
 

结点分类

 

结点的关系

 
 

森林

m棵互不相交的树的集合
 

树与线性表结构对比

 

存储结构

 

双亲表示法

优先记录每个节点的双亲(双亲是必有的,除了根节点),再针对特殊的需要,增加子节点或兄弟节点,重点在于寻找双亲节点,时间复杂度为O(1)
该方法结合了数组和链表,以数组为基础存储结构,每个元素再用链表的方式记录其双亲节点
 

孩子表示法

以这棵树为例
 
 
把每个结点的孩子结点排列起来(一般是从左往右),以单链表作为存储结构,则n个结点就拥有n个孩子链表,把n个单链表的头指针组成一个数组
 
用该方法得到的数据结构如下图所示
 

孩子兄弟表示法

定义

任意一棵树,它的结点的第一个孩子如果存在就是唯一的,它的又兄弟如果存在也是唯一的。因此,我们设置两个指针,分别指向该结点的第一个孩子和此节点的兄弟
 
一棵树的结构可以用下图来表示
这种情况下,就催生出了著名的二叉树

转载于:https://www.cnblogs.com/ulysses-you/p/6961055.html

你可能感兴趣的文章
Apache环境修改.htaccess文件实现子目录强制HTTPS访问
查看>>
pm2常用的命令
查看>>
随机数的理解
查看>>
Http协议
查看>>
数据库设计说明书
查看>>
Android项目-几种常见的应用架构
查看>>
Entity Framework Tutorial Basics(31):Migration from EF 4.X
查看>>
atcrowdfunding-web
查看>>
visualbox使用(二)
查看>>
Ps形状的应用
查看>>
第二次冲刺7
查看>>
iOS7时代我们用什么来追踪和识别用户?
查看>>
数论——买不到的数
查看>>
Webform---母版页(Master Pages)
查看>>
【转】Creating a JSONP Formatter for ASP.NET Web API
查看>>
linux 下 启动oracle
查看>>
BZOJ3718[PA2014]Parking——树状数组
查看>>
【转】Delphi 关键字详解
查看>>
程序员常去的14个顶级开发社区
查看>>
jqGrid
查看>>