数据结构——树

前言:第一次学到avl树的时候被劝退了一次,而今迈步从头越,雄关漫道真如铁。俗话说,从哪里跌倒就从哪里爬起来,我不仅要从树这里爬起来,我还打算爬树上,把自己挂树上。。。

步入正题!!!

一、树的定义:

         树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。

模型图:数据结构——树_第1张图片

二、树的特点:

        树是一种非线性数据结构,具有以下特点:它的每一个结点可以有零个或多个后继结点,也叫子节点;但是有且只有一个前驱结点,也叫父节点(根节点除外);这些数据结点按分支关系组织起来,清晰地反映了数据元素之间的层次关系。可以看出,数据元素之间存在的关系是一对多的关系。

三、相关术语:

        1、结点的度(Degree):结点的子树个数。

        2、树的度:树的所有节点中最大的度数。

        3、叶结点:度为0的结点,也就是没有子结点的结点。

        4、父结点:除了树的根结点外,每个结点的前驱节点称为该结点的父节点。

        5、子结点:每个接结点的后续结点,个数为n,n>=0。

        6、兄弟结点:具有同一个父节点的各子结点,相互为兄弟结点。

        7、路径和路径长度:两个具有从属层次关系的结点和之间所有相连的结点,共同称为这两个结点之间的路径。路径长度为路径中结点的个数-1。

        8、祖先结点:从树的根结点到某一结点的路径中所经过的结点,都叫做该结点的祖先结点。

        9、子孙结点:某一存在子树的结点,子树上的所有结点都称为该结点的子孙结点。

        10、结点的层:规定树的根结点为1层,每一层后继结点层次加1,以此类推。

        11、树的深度:树中所有结点中,最大层次是该树的深度,也叫树高。

四、孩子兄弟表示法和二叉树:

        将树的每个结点转化为只有两个指针,左边指针指向左侧第一个孩子,右边指针指向相邻兄弟。用此方法可将不规则的树转换为所有结点最多只有两个子结点的树,也就是二叉树。

五、下一篇二叉树详解。

        

你可能感兴趣的:(数据结构)