![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
DLC的学习笔记
这个作者很懒,什么都没留下…
展开
-
归并排序
归并排序分两种,自顶向下和自底向上:一、自顶向下这种方式的思路是,将数组两等分的递归拆成最小的数组(也就是1/0个元素),然后在一个一个的拼接起来。相比于自底向上,这种是更容易理解的,因为拆分不需要我们手动进行。 /** * 自顶向下的归并排序,用到的是递归 * @param nums */ public void mergeSortT2B(int[] nums,int left,int right){ if(left==right) re原创 2020-06-20 20:17:17 · 190 阅读 · 0 评论 -
B-Tree
一、定义B树又称多路平衡查找树,B树中所有结点的孩子结点数的最大值称为B树的阶。一棵m阶B树或为空树,或为满足以下特征的m叉树:树中每个结点至多有m棵子树(即至多含有m-1个关键字)。根节点不是终端节点,则至少有两棵子树。除根节点所有非叶子节点至少有ceil(m/2)棵子树(ceil(m/2)-1个关键字)。非叶子节点的结构:所有的叶子节点都出现在同一层次上,并不带任何信息。...原创 2020-03-21 17:09:39 · 220 阅读 · 0 评论 -
堆排序
堆,是一种类似于二叉树的数据结构。它分为大顶堆和小顶堆,以大顶堆为例,大顶堆的每一个父节点一定大于它的左右子节点;小顶堆顾名思义。大致步骤所以,利用这种性质,便可以实现数组的排序。步骤如下:以大顶堆为例(通常用于升序排列),先将数组的元素构成一个大顶堆;取出堆顶元素,一定是最大的,然后放在数组末尾(交换数组末尾元素);剩下的元素重新组成一个大顶堆,然后再次取出堆顶元素,放在上一个的前...原创 2020-03-12 20:02:02 · 99 阅读 · 0 评论 -
快速排序
快速排序可以归结为“挖坑填坑法”。首先选择一个基准值x(一般选择第一个值),然后用两个指针left指向左端,right指向右端。然后right向前移动,直到遇到nums[right]<x,便将此值赋值给nums[left],然后将left向后移动,遇到大于x的值便放到right的位置,再移动right……直到left==right,最后将x填到相遇处。这样便完成了小于x的在x左边,大于x...原创 2020-02-26 13:53:09 · 105 阅读 · 0 评论