zoukankan      html  css  js  c++  java
  • 数据结构(六)

    -- 定义
            - 有且仅有一个根结点
            - 当n > 1是,其余结点可分为子树
        - 树的抽象数据类型
            ADT Tree {
                D:具有相同特性的数据元素的集合
                R:。。。
                P
                    InitTree(&T)
                    DestroyTree(&T)
                    CreateTree(&T, definition)
                    ClearTree(&T)
                    TreeEmpty(T)
                    TreeDepth(T)
                    Root(T)
                    Value(T, cur_e)
                    Assign(T, cur_e, value)
                    Parent(T, cur_e)
                    LeftChild(T, cur_e)
                    RightChild(T, cur_e)
                    InsertChild(&T, &p, i, c)
                    DeleteChild(&T, &p, i)
                    TraverseTree(T, visit())
            }ADT Tree
        - 森林:n棵不相交的树的集合
    - 二叉树
        - 定义:每个结点至多只有2个结点的树
        - 二叉树的抽象数据类型
            ADT BinaryTree {
                InitBiTree(&T)
                    DestroyBiTree(&T)
                    CreateBiTree(&T, definition)
                    ClearBiTree(&T)
                    BiTreeEmpty(T)
                    BiTreeDepth(T)
                    Root(T)
                    Value(T, cur_e)
                    Assign(T, cur_e, value)
                    Parent(T, cur_e)
                    LeftChild(T, cur_e)
                    RightChild(T, cur_e)
                    InsertChild(&T, &p, i, c)
                    DeleteChild(&T, &p, i)
                    PreOrderTraverse(T, visit())
                    InOrderTraverse(T, visit())
                    PostOrderTraverse(T, visit())
                    LevelOrderTraverse(T, visit())
            }ADT BinaryTree
        - 二叉树的特殊形态
            - 满二叉树:每一层都达到最大结点数的二叉树
            - 完全二叉树:从左到右,从上到下连续编号与约定编号一一对应的二叉树
        - 二叉树的性质
            - 第i层上至多有2^(i-1)个结点
            - 深度为k的二叉树至多有2^(k)-1个结点
            - 叶子节点数 = 有2个儿子的节点数 + 1(n0 = n2 + 1- 有n个结点的完全二叉树的的深度为floor(log(2)n)+1
        - 二叉树的存储结构
            - 顺序存储结构
            - 链式存储结构
        - 线索二叉树:将空指针域按照一种顺序指向该结点的前驱或后继形成的二叉树
        - 赫夫曼树
            - 又称最优二叉树
            - 树的带权路径之和最小的二叉树
            - 赫夫曼编码
  • 相关阅读:
    HDU6470 ()矩阵快速幂
    O(1)乘法与快速乘O(log)
    imos 学习笔记五 抓拍 c#
    imos 学习笔记四 录像 c#
    imos 学习笔记三 下载指定时间段视频信息 c#
    imos学习笔记二 用户登录c#
    imos学习笔记一 sdk开发环境
    Hbase(nosql)体系结构有基本操作 笔记八
    zookeeper的安装与配置 笔记七
    mapReduce体系结构和各种算法 笔记六
  • 原文地址:https://www.cnblogs.com/qq188380780/p/11218888.html
Copyright © 2011-2022 走看看