码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构(六)树

时间:2017-06-08 10:37:15      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:ccf   com   src   not   http   定义   指针   original   表示法   

定义

技术分享
 
 

结点分类

技术分享
 

结点的关系

技术分享
 
技术分享
 

森林

m棵互不相交的树的集合
 

树与线性表结构对比

技术分享
 

存储结构

 

双亲表示法

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

孩子表示法

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

孩子兄弟表示法

定义

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

数据结构(六)树

标签:ccf   com   src   not   http   定义   指针   original   表示法   

原文地址:http://www.cnblogs.com/ulysses-you/p/6961055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!