2024年最全二叉堆及java实现(1),Java性能优化常见问题

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

image

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

1、大顶堆等效构成的二叉树的父节点不小于其子节点

1、需要注意的是大顶堆以及小顶堆只关注每个节点与其子节点的大小,至于一个节点的子节点大小则不关注,即不是我们常说的二叉排序树。

2、上面的二叉树仅仅是大顶堆等效的一种结构,实际存储则是采用数组的形式,而不是二叉树的形式

实现

有了大顶堆的基础知识后,接下来看下如何用java实现大顶堆的构造


public class MaxHeap {



    @Test

    public void test(){

        int[] array= {2,8,14,4,16,7,1,10,9,3};

        buildMaxHeap(array);

        //输出构成的大顶堆

        for(int i:array){

            println(i);

        }

    }



    /**

     * 初始化大顶堆

     */

    private void buildMaxHeap(int[] array){

        for(int i= (array.length-2)/2;i>=0;i--){

            maxHeapify(array,i);

        }

    }

    /**

     *

     * @param arr

     * @param i

     */

    private void maxHeapify(int[] arr,int i){

        //println("i="+i);

        //有效数据下标从0开始

        int len = arr.length;

        //左子节点

        int left = 2*i+1;

        //右子节点

        int right = 2*i+2;

        //初始化最大值节点为当前节点

        int largest = i;

        //左节点不超出数组范围且比较大节点值大,则更新较大值下标

        if(left <len && arr[left] > arr[largest]){

            //左节点比该节点大

            largest = left;

        }

        //右节点不超出数组范围且比较大节点值大,则更新较大值下标

        if(right <len && arr[right] > arr[largest]){

            //左节点比该节点大

            largest = right;



# 复习的面试资料

> 这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)
>

 *   **第一部分:Java基础-中级-高级**

![image](https://img-blog.csdnimg.cn/img_convert/ce3a334b3846d27eb5d70f48c8552787.webp?x-oss-process=image/format,png)

*   **第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)**

![image](https://img-blog.csdnimg.cn/img_convert/9e20d5a1ee8552db7405a75ee568f491.webp?x-oss-process=image/format,png)

*   **第三部分:性能调优(JVM+MySQL+Tomcat)**

![image](https://img-blog.csdnimg.cn/img_convert/a45bf0a38494c002ed8211670f5c7ea6.webp?x-oss-process=image/format,png)

*   **第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)**

![image](https://img-blog.csdnimg.cn/img_convert/c47934d0732fab0df1fc686ff3657827.webp?x-oss-process=image/format,png)

*   **第五部分:微服务(SpringBoot+SpringCloud+Dubbo)**

![image](https://img-blog.csdnimg.cn/img_convert/09c3da822409cf12fd7aa30b2dfc0ebc.webp?x-oss-process=image/format,png)

*   **第六部分:其他:并发编程+设计模式+数据结构与算法+网络**

![image](https://img-blog.csdnimg.cn/img_convert/abc1f7f619fda15b8bf02f3c6a0daa6e.webp?x-oss-process=image/format,png)

# 进阶学习笔记pdf

>*   **Java架构进阶之架构筑基篇(**Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法**)**

![image](https://img-blog.csdnimg.cn/img_convert/485e3e8546700d17a9843799bb7c30aa.webp?x-oss-process=image/format,png)

*   **Java架构进阶之开源框架篇(**设计模式+Spring+SpringMVC+MyBatis**)**

![image](https://img-blog.csdnimg.cn/img_convert/fded40175efb0c39d65801e2a5e4c017.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/c7f90d2532a7c29e4a7f9aeaa7317602.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/862d27d9e21f52bdbf51400ac9162b0d.webp?x-oss-process=image/format,png)

*   **Java架构进阶之分布式架构篇 (**限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)**)**

![image](https://img-blog.csdnimg.cn/img_convert/5c9151ae32fdc6ebc51425a772f6a152.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/d67e19c9b027d5ebdd11d271bb5f5dbc.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/25988651078aecd085546d8097ed4da3.webp?x-oss-process=image/format,png)

*   **Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)**

![image](https://img-blog.csdnimg.cn/img_convert/96f94569a38f17142220f019c2b04655.webp?x-oss-process=image/format,png)

![image](https://img-blog.csdnimg.cn/img_convert/64f3d8146d0eed950b23870fdca6dd0d.webp?x-oss-process=image/format,png)



> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值