技术栈
排序算法
BenChuat
3 天前
java
·
算法
·
排序算法
Java常见排序算法实现
以下是Java中几种常见排序算法的实现,包括冒泡排序、选择排序、插入排序、快速排序和归并排序。冒泡排序:
屁股割了还要学
3 天前
c语言
·
数据结构
·
学习
·
算法
·
排序算法
【数据结构入门】排序算法(4)归并排序
目录1.排序的原理1.1 保证子数组有序1.2 时间复杂度2. 递归实现2.1 思路2.2 代码3. 非递归实现
SccTsAxR
3 天前
c语言
·
开发语言
·
经验分享
·
笔记
·
其他
·
排序算法
[C语言]常见排序算法①
排序在咱们日常生活中十分的常见,就好比是网上购物的时候通常能够选择按照什么排序,比如价格、评论数量、销量等。那么接下来咱们就来了解一些关于排序的概念。
zstar-_
3 天前
数据结构
·
算法
·
排序算法
【不背八股】12.十大排序算法
通常被问到排序算法的时间复杂度,会对着下面这张表去查询。稳定性是指:当待排序序列中存在相等元素时,排序后这些元素的相对顺序是否保持不变。
kyle~
4 天前
c语言
·
数据结构
·
c++
·
算法
·
排序算法
排序---插入排序(Insertion Sort)
插入排序(Insertion Sort)是一种直观且简单的排序算法,其核心思想借鉴了日常生活中"整理手牌"的行为——将一组元素分为"已排序"和"未排序"两部分,每次从"未排序"部分取出一个元素,按照大小顺序插入到"已排序"部分的合适位置,直到所有元素都被插入完毕。
纵有疾風起
4 天前
c语言
·
数据结构
·
算法
·
排序算法
数据结构中的排序秘籍:从基础到进阶的全面解析
在数据结构广阔的领域里,排序是一项基础且核心的操作,它就像是数据世界的 “整理大师”,能将杂乱无章的数据变得井然有序 。在日常生活里,排序的概念也随处可见。比如图书馆中,书籍会按照类别、作者或者出版时间等规则排列,方便读者快速找到所需书籍;电商平台上,商品会依据销量、价格或者用户评价进行排序,帮助消费者更高效地筛选商品。
D.....l
4 天前
数据结构
·
算法
·
排序算法
冒泡排序与选择排序以及单链表与双链表
冒泡排序是一种 简单的排序算法,通过 两两比较相邻元素,把较大的元素逐渐 “冒泡” 到数组末尾。思路:
于樱花森上飞舞
6 天前
java
·
算法
·
排序算法
【java】常见排序算法详解
插入排序一般分为两种: 1.直接插入排序 2.希尔排序对于一个数组,假设[arr[0],…,arr[i-1]]是排好序的,待排位置为arr[i],从后往前依次和待排部分元素比较,直到找到待插入位置,之后将原位置及其后面的元素后移即可,之后不断重复即可;
kyle~
6 天前
java
·
算法
·
排序算法
排序---选择排序(Selection Sort)
选择排序(Selection Sort)是一种简单直观的排序算法,其核心思想是每次从待排序元素中找到最值(最小值或最大值),将其放到已排序序列的末尾,重复此过程直到所有元素完成排序。
papership
6 天前
数据结构
·
算法
·
排序算法
【入门级-算法-6、排序算法: 插入排序】
一、插入排序算法思想 插入排序(Insertion Sort)的基本思想: 1、将数组分为已排序和未排序两部分;初始时,已排序部分只有一个元素(第一个元素)。 2、依次将未排序部分的元素插入到已排序部分的正确位置。 3、每插入一个元素,已排序部分就增加一个元素,未排序部分就减少一个元素。 4、重复这个过程,直到所有元素都插入到正确的位置。
啊?啊?
6 天前
数据结构
·
算法
·
排序算法
7 排序算法通关指南:从 O (n²)(选择 / 冒泡)到 O (nlogn)(快排 / 归并)+ 计数排序
选择排序的基本思想: 每⼀次从待排序的数据元素中选出最⼩(或最⼤)的⼀个元素,存放在序列的起始位置,直到全部待 排序的数据元素排完。
博笙困了
6 天前
c++
·
排序算法
AcWing学习——归并排序
归并排序与快速排序有异曲同工之处,同样是利用到了分治思想,但是归并排序还利用到了归并的思想,将原数组依次分治,形成最小的有序子数组,然后俩俩归并,依次形成一个更大的有序子数组,直到原数组完全有序为止。
老一岁
7 天前
数据结构
·
算法
·
排序算法
希尔排序详解
希尔排序是插入排序的一种更高效的改进版本,也称为“缩小增量排序”希尔排序的核心思想是:使数组中任意间隔为 gap 的元素都是有序的。这样的数组被称为是 gap 有序 的,基本思路:先将整个待排序的序列分割成若干个子序列,分别进行直接插入排序。待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序,如何分割? 通过一个增量序列(Gap Sequence) 来控制。增量逐渐减小,最终减至 1(即对整个数组进行最后一次标准的插入排序)
小欣加油
7 天前
数据结构
·
c++
·
算法
·
leetcode
·
职场和发展
·
排序算法
leetcode LCR 170.交易逆序对的总数
可以借鉴归并排序(递归)的求解过程。假设数组如图所示,总过程为:(1)首先找到中间位置mid;(2)在[left,mid]区间内统计逆序对的数量+排序;
kyle~
7 天前
数据结构
·
算法
·
排序算法
排序---希尔排序(Shell Sort)
希尔排序是1959年由美国计算机科学家唐纳德·希尔(Donald Shell)提出的排序算法,其本质是对插入排序的优化与改进,因此也被称为“缩小增量排序”(Diminishing Increment Sort)。
逍遥德
9 天前
java
·
spring boot
·
list
·
排序算法
Java8 Comparator接口 和 List Steam 排序使用案例
在Java中,Comparator接口主要用于实现自定义排序逻辑,适用于未实现Comparable接口或需要覆盖默认比较规则的场景。以下是核心使用方法和注意事项:
中华小当家呐
9 天前
数据结构
·
算法
·
排序算法
算法之常见八大排序
注意:桶排序的性能取决于数据分布和桶的数量,代码中假设数据范围在0-100,实际使用时需要根据数据范围调整桶的数量。
kk”
9 天前
数据结构
·
算法
·
排序算法
C语言快速排序
快速排序(Quick Sort)是一种高效的排序算法,采用"分治"策略。它的核心思想是:选择一个基准值(pivot),将数组分成两部分,一部分比基准值小,另一部分比基准值大,然后递归地对这两部分进行排序。
papership
9 天前
数据结构
·
算法
·
排序算法
【入门级-算法-6、排序算法:选择排序】
1、选择排序算法思想 选择排序是一种简单直观的排序算法。它的基本思想是: 从未排序序列中找到最小(或最大)的元素,将其存放到序列的起始位置(即与起始位置的元素交换)。 然后,再从剩余的未排序元素中继续寻找最小(或最大)的元素。 重复上述过程,直到所有元素均排序完毕。 可以理解为:不断地从后面未排序的部分选择一个最小的,放到前面已排序部分的末尾。