我是靠谱客的博主 冷傲美女,最近开发中收集的这篇文章主要介绍《数据结构导论》之树   第一,关于数据和数据结构    第二,关于树    第三,转换方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

   周四晚上参加交流会,最后一个环节是12期的同学进行技术分享,这次大家分享的是《树》。看见这个标题,我打算走了,因为这个知识点自考和软考都会考,也一直在学习,所以不想继续听下去了,自己下去再学习一下就OK了。正想着起身离开的时候,一个师妹问了一句:什么是树啊?树是用来做什么的?台下有小伙伴说,给大家先解释一下“节点”吧。于是我在大脑里开始想这几个问题的答案:树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

    每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树;
    正想要给大家解释一下,突然想到,师弟师妹还没有学习《数据结构导论》这样给大家解释,他们很难听懂。可是我该怎么给大家解释树呢?怎么讲才能更加通俗呢?

   第一,关于数据和数据结构

   数据:官方解释:数据是信息的载体,是用来描述客观事物属性的数,字符,以及所有能输入到计算机中并能够给程序识别和处理的符号集合。我的理解:联系我们使用是SQL数据库,各种信息:文字,图片,数字,字母,符号等都可以存入到数据库中,而不仅仅是数字。
    数据结构:官方解释:指数据对象及其相互关系和构造方法,它可以用一个二元组{D,R}表示。其中,D是某种数据对象,是数据结构中数据(称为结点)的非空有限集合;R是该对象中所有数据成员之间的关系的有限集合;我的理解:结构就像我们的房子上的房梁和砖瓦。砖瓦是数据对象,是同种类型的数据集合;房梁搭建在砖瓦之间,沟通每块砖瓦,代表砖瓦之间的相互关系;我把构造方式比喻成房屋的样式,房屋有多种建造方式,中式,西式,南方的轻巧灵秀式,北方的敦厚朴实式。

    第二,关于树

    上面说的,数据结构中结点之间的关系称为数据的逻辑结构,树(二叉树,查找树,平衡树等)就是这逻辑结构中的一种。树中的每个结点代表相同数据的集合;结点之间的连线代表数据集合之间的前后,左右关系;树的类型有很多种:二叉树,树等等,这就是构造方式。数据可以二叉树的形式联系起来,也可以其他的形式联系起来。

    第三,转换方式

1、树转换成二叉树;

  i.连线
  连接树中所有兄弟节点;
  ii.去线
  保留第一个兄弟结点与父节点的连线,断开其他兄弟结点与父结点的连线;
  iii.旋转45°;
  过程如图:
                                                 
   将二叉树转换为树就是它的逆过程:先逆时针旋转45°,断开所有右子树之间的连线,将结点与其左结点对应的父结点相连。
                 

2、森林转换成二叉树;                                                  

  i.将每棵树转换为二叉树;
  ii.第一棵树第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子,用线连接起来。
             
                                             

3、二叉树转换成森林;

(1)从根节点开始,若右孩子存在,则把与右孩子结点的连线删除。再查看分离后的二叉树,若其根节点的右孩子存在,则连线删除…。直到所有这些根节点与右孩子的连线都删除为止。

(2)将每棵分离后的二叉树转换为树。

       

                                                                 


    数据结构未了存储和查找方便,用各种树结构来存储文件,了解了树的结构和之间的转换方式,可以更好理解在存储或查找时格式的变换,以上是我对树的一些理解,如文中会有不严谨的地方,如果影响大家理解,欢迎大家斧正。
参考文献:
http://blog.csdn.net/liuzhanchen1987/article/details/7324935
http://www.cnblogs.com/zhuyf87/archive/2012/11/04/2753950.html
http://blog.sina.com.cn/s/blog_6b32b0870100w0bb.html

最后

以上就是冷傲美女为你收集整理的《数据结构导论》之树   第一,关于数据和数据结构    第二,关于树    第三,转换方式的全部内容,希望文章能够帮你解决《数据结构导论》之树   第一,关于数据和数据结构    第二,关于树    第三,转换方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部