zoukankan      html  css  js  c++  java
  • 数据结构——二叉树

    1、二叉树

      特点:每个结点至多有2颗子树,并且子树有左右之分。

      性质:

    • 在二叉树的第i层至多有2i-1个结点;
    • 深度为k的二叉树至多有2k-1个结点;
    •  对任何一颗二叉树而言,若其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1。

      二叉树的存储结构:

      顺序存储结构(仅适用于完全二叉树)

      链式存储结构(二叉链表):每个结点至少包含三个域,数据域和左、右指针域。

    2、满二叉树,完全二叉树

     

    3、二叉查找树

    •   若它的左子树不为空,则左子树上所有结点的值均小于它的根节点的值;
    •   若它的右子树不为空,则左子树上所有结点的值均大于于它的根节点的值;
    •   它的左、右子树也分别是二叉查找树;

    4、平衡二叉树(AVL树)

      是二叉查找树的一个进化体。平衡二叉树要求对于每一个结点来说,它的左右子树的高度之差不能超过1。

    5、红黑树

      红黑树,是一种二叉查找树。

      特点:

    •   每个结点要么是红的,要么是黑的。
    •   根结点是黑的。
    •   每个叶结点,即空结点(NIL)是黑的。
    •   如果一个结点是红的,那么它的俩个儿子都是黑的。
    •   对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点。
  • 相关阅读:
    最新的thinkphp 数据库字段 自动转为小写。是个坑,要小心
    游戏助手开发
    最新的thinkphp 后台入口的问题
    最近的小成就
    一个大坑1111111111
    一个大坑
    代码的重构
    PHP上传文件大小的修改
    博客园Markdown编辑器代码高亮失效(官方已修复)
    2014年最新前端开发面试题(题目列表+答案 完整版)
  • 原文地址:https://www.cnblogs.com/shuqicui/p/day1.html
Copyright © 2011-2022 走看看