240 发简信
IP属地:西藏
  • 理解B+树,就能真正记住MySQL索引优化规则

    B+树是一种多路搜索树,相较于B树有以下特性:节点分为内部节点、叶子节点、根节点(根节点在某些情况下也属于内部节点、叶子节点)。每个节点最多包含m-1个关键字、m个子节点。内...

  • 堆排序

    废话不多说先上代码 时间复杂度 O(n * log n) 空间复杂度 O(1) 原地排序,注意我这里写的代码不是原地排序。 稳定排序 不是稳定排序,因为弹出堆顶元素要和最后一...

  • 二分查找(变体)

    今天写4种二分查找的变体分别是查找第一个值等于给定值的元素查找最后一个值等于给定值的元素查找第一个值大于等于给定值的元素查找最后一个值小于等于给定值的元素虽说是是4种,但是原...

  • 基础二分查找

    先上代码 时间复杂度: log(n)二分查找只能作用在有序数组中 核心思想 取出数组最中间的数,与要查找的值做比较,会有如下3种情况。 中间数等于查找数 直接返回下标 中间数...

  • 240
    桶排序&&计数排序&&基数排序

    今天把三种排序放到一起写,因为原理都差不多。 桶排序 桶排序的代码我没有写,讲下思想就可以了。 时间复杂度 O(n) 空间复杂度 O(n * m) n是多少个桶 m每个桶多...

  • 240
    归并排序

    废话不多说先上代码 时间复杂度 O(n * log n) 这个时间复杂度不会变化,无论是完全逆序还是已经有序 空间复杂度 O(n) 不是原地排序 稳定排序 是稳定排序 算法核...

  • 选择排序

    废话不多说先上代码 时间复杂度 O(n²) 空间复杂度 O(1) 原地排序 稳定排序 不是是稳定排序 算法核心思想 从带排序数组中选择一个最大的数移动到数组最末尾,再从剩下的...

  • 插入排序

    废话不多说先上代码 时间复杂度 O(n²) 空间复杂度 O(1) 原地排序 稳定排序 是稳定排序 算法核心思想 将待排序数组划分为两个区间,有序区间和无序区间。有序区间在前,...

  • 冒泡排序

    废话不多说先上代码 时间复杂度 O(n²) 空间复杂度 O(1) 原地排序 稳定排序 是稳定排序 算法核心思想 假设要排序的数组的下标为0 到 5。下面所有的数字都代表其下标...