zoukankan      html  css  js  c++  java
  • ---

    今天开始学习一种新的逻辑结构 ——

    树的基本概念

    image-20210424192705748

    树的属性描述

    image-20210424193318873

    树 V.S 森林

    image-20210424193608077

    小结

    image-20210424193638247

    常考性质

    结点数=总度数+1

    image-20210424193959856

    度为m的树 v.s m叉树

    image-20210424193834025

    image-20210424194336919

    image-20210424194555077

    image-20210424194723118

    image-20210424195359010

    小结

    image-20210424195438623

    二叉树

    基本概念

    image-20210424195705075

    几个特殊的二叉树

    满二叉树 和 完全二叉树

    image-20210424200552513

    二叉排序树

    image-20210424201212093

    平衡二叉树

    image-20210424201552773

    小结

    image-20210424201631860

    二叉树的常考性质

    image-20210424202222138

    image-20210424202504460

    image-20210424202423085

    完全二叉树的常考性质

    image-20210424202834812

    因为完全二叉树最多只有一个单分支结点(如果有其一定只有左孩子),即n1只能取0或1

    另外,对于任意二叉树,可根据总结点数n等于总度数+1推出n0=n2+1,即n0+n2一定为奇数

    所以,结点数n提供了两条信息:总结点数和n1(根据n的奇偶性),据此可推出n0和n2

    image-20210424203901102

    小结

    image-20210424204629905

    二叉树的存储方式

    完全二叉树的顺序存储

    image-20210424205148857

    image-20210424205440078

    二叉树的顺序存储

    image-20210424205544354

    image-20210424205753761

    --- 显然造成了空间浪费 ---

    image-20210424205939637

    --- 考虑链式存储 ---

    二叉树的链式存储

    --- 二叉链表 ---

    image-20210424210426230

    代码实现

    image-20210424210517406

    如果需要经常访问结点的父结点,可以添加父指针形成所谓的"三叉"链表,但实质还是二叉树

    小结

    image-20210424211038950

    image-20210424211114589

  • 相关阅读:
    常用模块Part(1)
    递归函数
    python 生成器函数
    python 迭代器与生成器
    python 函数进阶
    python 装饰器进阶
    python time模块
    python 初始函数
    python 文件操作
    python 一些小知识
  • 原文地址:https://www.cnblogs.com/potofsalt/p/14698063.html
Copyright © 2011-2022 走看看