zoukankan      html  css  js  c++  java
  • 树【整理】

    二叉树

    三种遍历:前序、中序、后序

    六种实现:递归、循环

    元素不同的二叉树,前序+中序 和 后序+中序可以定义一个二叉树

    1、前序遍历的第一个值为根节点,根据根节点可以在中序遍历中区分左子树和右子树

    2、在前序遍历中找到左子树和右子树,分别进行递归

    层次遍历:通过队列实现,每次放入头结点的左右节点。

    二叉树镜像:递归交换+先序遍历左右节点

    二叉树的主要操作可以写画一张图后再分析操作。

    应用

    1、红黑树

    HashMap在java7中采用数组+链表的方式,当key的hash值相同时,插入链表(在前面插),当超过数组的个数时,以2倍的大小进行扩容。

    HashMap在java8中用到了数组+链表+红黑树的方式,当链表(在后面插)个数大于8个时,链表转化为红黑树。

    参考博客:https://www.javadoop.com/post/hashmap

    红黑树:自平衡 二叉查找树(左节点<根节点<右节点)

    红黑树多用在内部排序,即全放在内存中的

    2、B+树

    B树多用在内存里放不下,大部分数据存储在外存上时。因为B树层数少,因此可以确保每次操作,读取磁盘的次数尽可能的少。
    在数据较小,可以完全放到内存中时,红黑树的时间复杂度比B树低。反之,数据量较大,外存中占主要部分时,B树因其读磁盘次数少,而具有更快的速度。

  • 相关阅读:
    4.5计算机网络笔记
    3.29计算机网络笔记
    3.22计算机网络笔记
    3.15计算机网络笔记
    用int类型表示最大公倍数
    markdown入门
    learning by doing
    技术博客(初用markdown)。
    物联网PPT智能家居王思齐和陈由钧第10组
    第六次java作业
  • 原文地址:https://www.cnblogs.com/huchengxi/p/12432935.html
Copyright © 2011-2022 走看看