![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 71
一叶人生
这个作者很懒,什么都没留下…
展开
-
排序算法 归并排序 merge sort
归并排序(Merge Sort) 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 算法描述 把长度为n的输入序列分成两个长度为n/2的子序列; 对这两个子序列分别采用归并排序; 将两个排序好的子序列合并成一个最终的排序序列。 将两个的有序数列合并成一个有序数列,我们称之为"归并...原创 2022-05-17 23:26:00 · 191 阅读 · 0 评论 -
算法 堆排序 heapSort
堆排序 heapSort 堆是一种数据结构,一种叫做完全二叉树的数据结构。 堆排序是利用堆数据结构而设计的一种排序算法,堆排序是一种选择排序, 其最坏,最好,平均时间复杂度均为O(nlogn),同时也是不稳定排序。 堆的性质 这里我们用到两种堆,其实也算是一种。 大顶堆:每个节点的值都大于或者等于它的左右子节点的值。 对于大顶堆:arr[i] >= arr[2i + 1] && arr[i] >= arr[2i + 2] 小顶堆:每个节点的值都小于或者等于它的左右子节点的值。原创 2022-05-15 22:22:52 · 247 阅读 · 0 评论 -
算法 快速排序
概念 快速排序(Quick Sort)是从冒泡排序算法演变而来的,实际上是在冒泡排序基础上的递归分治法。 快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分 快速排序算法通过多次比较和交换来实现排序,其排序流程如下: (1)首先设定一个分界值,通过该分界值将数组分成左右两部分。 (2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于分界值, 而右边部分中各元素都大于或等于原创 2022-05-12 23:13:11 · 109 阅读 · 0 评论 -
leecode 778 水位上升的泳池中游泳
leecode 778 水位上升的泳池中游泳 算法:dfs、并查集原创 2022-05-08 22:22:17 · 206 阅读 · 0 评论