首页
分类
前端
javascript
数据结构与算法
运维
瞬间
图库
留言板
友链
归档
关于
Fonda's Lab
关山难越,谁悲失路之人?萍水相逢,尽是他乡之客。
累计撰写
49
篇文章
累计创建
27
个标签
累计收到
1
条评论
栏目
首页
分类
前端
javascript
数据结构与算法
运维
瞬间
图库
留言板
友链
归档
关于
目 录
CONTENT
排序-Fonda's Lab
以下是
排序
相关的文章
2024-05-22
数组中的第 K 个最大元素(LeetCode215)
数组中的第 K 个最大元素(LeetCode215) 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 问题描述 需要找到排序后数组中的第 k 个最大的元素,而不是第 k 个不同的元素。要求设计并实现时间复杂度为 O(n) 的算法解决此问题。 方法1:快速选择算法(Quicks
2024-05-22
10
0
0
数据结构与算法
2024-01-18
快速排序
快速排序 快速排序一听这个名字就知道非常的快,那么快速排序是怎么个快法,想必大家都不是太清楚,如果我跟你说快速排序是一种冒泡排序你信吗?就像希尔排序是插入排序的改进版本,堆排序是选择排序的改进版本,快速排序也是冒泡排序的一种改进版本,而且还是暴改。 思路 快速排序的核心思路是选取数组中的一个值作为
2024-01-18
9
0
0
数据结构与算法
2024-01-17
堆排序
堆排序 堆排序(heap sort)是选择排序的一种,不要被它的名字吓到了,堆只是一种数据结构,这个数据结构来自二叉树,准确的说是完全二叉树,完全二叉树就是所有的除最后一层外,其他的层都是满的,不能有空缺,像下面这样。 每个节点加上左右的两个元素我们叫做堆,堆分为大顶堆和小顶堆。 大顶堆是值节点元素
2024-01-17
10
0
0
数据结构与算法
2024-01-16
归并排序
归并排序 希尔排序给我们带来了一个新思路,将一个问题拆分成几个小规模的子问题,然后用现成的方案解决这些子问题,再慢慢合并问题来解决原问题。归并排序就是采用这种思想的算法。 思路 归并排序会一次性把一个很大的数组分成若干个长度为1的数组,长度为一的数组当然也是有序的,这个时候怎么合并就是解决问题的核心
2024-01-16
6
0
0
数据结构与算法
2024-01-15
希尔排序
希尔排序 希尔排序是希尔于1959年提出的一种排序算法,是插入排序的改进版本,也称为缩小增量排序,同时他是第一批冲破O(n^2)的排序算法之一。当时出现过许多排序算法,可是都没能突破O(n^2),但是希尔排序的出现改变了一切。 思路 该算法的基本思想是,将元素用增量来切割成多个子数组,并不是真正的切
2024-01-15
4
0
0
数据结构与算法
2024-01-13
插入排序
插入排序 之前我们学习了冒泡排序,选择排序,今天我们再来讲一个时间复杂度同样为O(n^2)的排序算法,准确的说它的平均复杂度是O(n^2/4),理论上是要优于前面所说的两种排序的(在指数变化面向,系数的变化显得很渺小😂),但是由于插入排序的这种思路是非常重要的,是三个O(n^2)里面必学的一个,就
2024-01-13
4
0
0
数据结构与算法
2024-01-12
选择排序
选择排序 思路 上次我们讲了冒泡排序,其实冒泡排序按照正常人的思路还真不一定想出来,大部分人第一种想到的排序肯定是今天我们要讲的选择排序,这个排序的思路很简单,我们假设第一个数是最小的,再遍历剩余的数如果剩余的数中有一个数比当前数还小那么我们就把当前这个数的下标记录下来,直到所有剩余的数都遍历完毕,
2024-01-12
6
0
0
数据结构与算法
2024-01-11
冒泡排序
冒泡排序 冒泡排序是一种简单的比较排序,其排序方式有点像自然界中水泡上升的过程,虽说冒泡排序在开发当中不会去使用,但是对于以后理解算法会有很大的帮助,冒泡排序如果不看懂它的排序过程直接读代码还是难理解的,接下来就让我们进入排序篇的第一个排序——冒泡排序 动画演示 思路 考虑一下,现在我们有下面这样一
2024-01-11
42
0
0
数据结构与算法