Mybatis加载配置的流程 我们知道mybatis在ORM框架中具有举足轻重的地位,接下来几篇博客文章将对mybatis的原理和设计理念进行解析,会发现很多很多令人惊喜的设计和想法。 在mybatis的源码分析流程中,我大概分成四个模块:1、配置加载;2、映射绑定;3、执行操作,封装结果;4、插件 ...
分类:
其他好文 时间:
2020-09-17 12:24:31
阅读次数:
25
一、前言 二叉堆是一个特殊的堆,其本质是一棵完全二叉树,可用数组来存储数据,如果根节点在数组的下标位置为1,那么当前节点n的左子节点为2n,有子节点在数组中的下标位置为2n+1。二叉堆类型分为最大堆(大顶堆)和最小堆(小顶堆),其分类是根据父节点和子节点的大小来决定的,在二叉堆中父节点总是大于或等于 ...
分类:
编程语言 时间:
2020-09-16 12:12:33
阅读次数:
31
一、二叉树基本知识 二、二叉树先序遍历 题目: 输入一个整数n,表示二叉树中结点个数,编号为1~n。1号结点为二叉树的根节点。然后输入n行,每行包括两个整数,第i行表示编号为i的结点的左、右子节点的编号。如果某个结点没有左或右子节点,那么对应行的第一、二个整数为0。输出此二叉树的先序遍历,每行输出一 ...
分类:
其他好文 时间:
2020-08-26 18:33:00
阅读次数:
50
每天 3 分钟,走上算法的逆袭之路。 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee: https://gitee.com/inwsy/LeetCode 题目:二叉树的最大深度 题目来 ...
分类:
其他好文 时间:
2020-08-25 15:57:13
阅读次数:
48
上节回顾 上一章我们介绍了二叉树,二叉搜索树相关的一些知识。 当一个二叉搜索树是一个满二叉树,或者是完美二叉树的时候可以计算一下二叉搜索树的查找,插入,删除的时间复杂度。 从代码来看它们的时间复杂度都是和树的高度相关的。 满二叉树的高度是$log_2(n + 1)$,完美二叉树的高度是$floor( ...
分类:
其他好文 时间:
2020-08-17 17:10:18
阅读次数:
56
https://ac.nowcoder.com/acm/problem/24953 题目描述:给出一棵树,选最小的点把所以边覆盖。 思路: ? dp[i][0]:选点i,并且以点i为根的子树都被覆盖了。 ? dp[i][1]:不选点i,i被其儿子覆盖 ? dp[i][2]:不选点i,i没有被子节点覆 ...
分类:
Web程序 时间:
2020-08-10 23:16:45
阅读次数:
91
1.1 概述 TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解: 红黑树的每个节点都只能是红色或者黑色 根节点是黑色 每个叶节点(NIL节点,空节点)是黑色的、如果一个结点是红的,则它两个子节点都是黑的、也就是说在一条路径上不能出现相邻的两个红色结点 从任一 ...
分类:
编程语言 时间:
2020-08-09 11:51:46
阅读次数:
76
MySQL InnoDB 引擎底层数据结构是 B+ 树,所谓的索引其实就是一颗 B+ 树,一个表有多少个索引就会有多少颗 B+ 树,mysql 中的数据都是按顺序保存在 B+ 树叶子节点上的(所以说索引本身是有序的)。主要目的有三个:1)提高范围查询效率;2)增加排序效率;3)提高扫表能力,顺序访问 ...
分类:
数据库 时间:
2020-08-08 20:09:12
阅读次数:
121
AgOH 大佬的视频:https://www.bilibili.com/video/BV1G4411z7mN link-cut-tree 用来维护动态森林,可以支持连边、断边、查询树链信息的操作,树链剖分的加强版 实链剖分:每个非叶子节点都有一个实儿子,和它之间的边是实边,和其它儿子间的边都是虚边。 ...
分类:
其他好文 时间:
2020-08-07 18:07:48
阅读次数:
71
1、平衡二叉树 概念 平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; 特点: 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则: (1)非叶子节点只能允许最多 ...
分类:
其他好文 时间:
2020-08-06 23:14:34
阅读次数:
80