• 数据结构-二叉树


    1、完全二叉树(complete binary tree)的定义

    若设二叉树的深度为h,除第h层外,其他各层(1到h-1)的结点数都达到最大个数,第h层所有的结点都连续集中在最左边,这就是完全二叉树

    2、满二叉树的定义(full binary tree)

    满二叉树的节点要么是叶子节点,度为0,要么是度为2的节点,不存在度为1的节点

    3、二叉树的基本性质

    节点的度:节点的子节点的数量为该节点的度。在完全二叉树中,节点的度最多为2,最少为0

    叶子节点:度为0的节点为叶子节点

    4、树里面的基本概念

    节点的高度:节点到叶子节点的最长路径(边数)

    节点的深度:根节点到这个节点所经历的边的个数

    节点的层数:节点的深度+1

    树的高度:根节点的高度

    这几个概念的区分:计算节点的高度时,起点从叶子节点为水平线,进行计算,叶子节点的高度为0;计算节点的深度时,起点从根节点为水平线,进行计算,根节点的深度为0;层数类似深度,起点从根节点为水平线,进行计算,根节点的层数为1

    5、树的存储方式

    两种方式:链式存储法,大部分的二叉树都是通过这个结构来实现和基于数组的顺序存储法,完全二叉树使用数组存储,比较省空间,存储的规律为:根节点存储下标为数组的索引1的位置,节点下标为i,其左子节点存储位置为2*i,右子节点存储位置为2*i+1;

    6、二叉树的遍历方式

    前序遍历是指:对于树中的任意节点来说,先打印该节点,然后再打印它的左子树,最后打印它的右子树

    中序遍历是指:对于树中的任意节点来说,先打印它的左子树,然后再打印它本身,最后打印它的右子树

    后序遍历是指:对于树中的任意节点来说,先打印它的左子树,然后再打印它的右子树,最后打印这个节点本身

    层序遍历是指:按照层的方式遍历完一层的节点,再遍历下一层的节点,这里需要用到一个数据结构队列

  • 相关阅读:
    转换数值
    ASCII十进制字符集
    Metropolis-Hastings算法
    python + django 搭建网页(2)
    写一个脚本,循环运行 Projected-Hartree-Fock程序,然后提取结果
    写一个脚本,循环运行壳模型程序 bigstick.x,收集结果
    python画点线图
    python制作叠起来的柱状图,并且加上error bar
    python画散点图、大箭头
    python画柱状图,并且返回统计数据
  • 原文地址:https://www.cnblogs.com/potato-chip/p/13404131.html
Copyright © 2020-2023  润新知