当前位置 博文首页 > lxkeepcoding的博客:数据结构:如果写代码,就写一棵树

    lxkeepcoding的博客:数据结构:如果写代码,就写一棵树

    作者:[db:作者] 时间:2021-09-20 10:43

    目录

    • 前言
    • 1. 树的概念及结构
      • 1. 树的概念
      • 1.2 树中的一些名称
        • 1.2.2 节点
        • 1.2.3 子树
        • 1.2.4 树的高度或深度
        • 1.2.5 度
        • 1.2.6 树中的亲戚关系
      • 1.3 非树
      • 1.4 树的表示
        • 1.4.1 双亲表示法
        • 1.4.2 孩子表示法
        • 1.4.3 孩子兄弟表示法
      • 1.5 树在实际中的应用
    • 2. 树的计划生育——二叉树
      • 2.1 二叉树的概念
      • 2.2 特殊的二叉树
        • 2.2.1 满二叉树
        • 2.2.2 完全二叉树
      • 2.3 二叉树的性质
      • 2.4 二叉树的存储结构
        • 2.4.1 顺序存储
        • 2.4.2 链式存储
    • 3. 二叉树的顺序结构及实现(堆)
      • 3.1 堆的概念及结构
        • 3.1.1 大根堆小根堆
        • 3.1.2 下标规律
      • 3.2 堆的实现
        • 3.2.1 堆向下调整算法
          • 3.2.1.1 思路分析
          • 3.2.1.2 代码实现
        • 3.2.2 向上调整排序算法
          • 3.2.2.1 思路分析
          • 3.2.2.2 代码实现
        • 3.2.3 堆的创建
        • 3.2.4 堆的排序
        • 3.2.5 堆的基本功能的实现(以大根堆为例)
          • 3.2.5.1 堆的插入
          • 3.2.5.2 堆的删除
          • 3.2.5.3 获取堆顶元素、判空、求大小
          • 3.2.5.4 完整代码及运行测试
    • 4. 二叉树链式结构及实现
      • 4.1 二叉树链式结构的遍历
        • 4.1.1 前序遍历(先根遍历)
        • 4.1.2 中序遍历(中根遍历)
        • 4.1.3 后序遍历(后根遍历)
        • 4.1.4 层序遍历
        • 4.1.5 前中后序遍历的代码实现
      • 4.2 二叉树节点计数方法
        • 4.2.1 遍历计数
        • 4.2.2 拆解计数
      • 4.3 求叶子的个数
      • 4.4 求树的深度
      • 4.5 求第k层节点个数
      • 4.6 查找值为x的节点
      • 4.7 销毁二叉树
      • 4.8 单值二叉树判断
      • 4.9 对称二叉树
      • 4.10 判断两棵树是否相同
      • 4.11 判断一棵树为另一棵树的子树
      • 4.12 平衡二叉树
      • 4.13 完整代码
    • 后记
    cs