我的树

来源:互联网 发布:我的世界随机性知乎 编辑:程序博客网 时间:2024/06/06 00:36
树:
          定义:有且只有一个可称为根的节点、有若干个 
                     互不相交的子树。
                 专业术语:
                     节点 父节点 子节点 
                     子孙 堂兄弟 
                     深度:从根节点到最底层节点的层数;
                     叶子节点:没有子节点的节点;
                     非终端节点 :非叶子节点;
                     度:子节点的个数;
          树的分类:
                     一般树:任意一个子节点的个数不受限制;
                     二叉树:任意一个子节点的个最多两个,且子
                             节点位置不能改变;
                          分类:
                              一般二叉树
                              满二叉树:每一层节点数都是最大
                              完全二叉树:只删除了满二叉树的
                              最底层最右边的连续若干个节点。

           森林:n个互不相交的树的集合;

           树的存储:

                二叉树存储:

                   连续存储(完全二叉树):

                   链式存储:

                一般树存储:

                   双亲表示法:

                   孩子表示法:

                   双亲孩子表示法:

                   二叉树表示法:

                          将一个普通树转为二叉树:

                                 设法保证任意一个节点
                                 左指针域指向他的第一个孩子
                                 右指针域指向他的兄弟

                                 一个普通数转换成的二叉树没有右子树。

           森林存储:
                         先把森林转换为二叉树再存储二叉树;           

           树的操作:

                         遍历:先序、中序、后序;

           已知两种遍历求原始二叉树:

                         两种遍历中必有中序遍历的出左右子树,再由先后序的出根节点;             

原创粉丝点击