技术栈
排序算法
梦境虽美,却不长
18 小时前
数据结构
·
学习
·
排序算法
算法 学习 排序 2025年6月16日10:25:37
重点:相邻元素两两比较,大的往后移动 使用场景:教学使用,实际应用较少(效率低) 时间复杂度:O(n²)(最坏和平均),O(n)(最好,已排序时)
-qOVOp-
19 小时前
数据结构
·
算法
·
排序算法
408第一季 - 数据结构 - 排序II
找最小的元素怎么找,看图6和1相比 1小,选11和5相比 1小,不用变1和9相比 1小,不用变。。。最后确定1是最小的,然后交换
Coding小公仔
3 天前
c++
·
算法
·
排序算法
几种经典排序算法的C++实现
以下是几种经典排序算法的C++实现,包含冒泡排序、选择排序、插入排序、快速排序和归并排序:各排序算法特点:
快乐肚皮
3 天前
java
·
排序算法
·
归并排序
·
快速排序
Java的Arrays.sort():排序算法与优化分析
在Java中,Arrays.sort()是开发者最常用的排序方法之一。但你是否思考过它的底层实现?本文将基于OpenJDK 17源码,深入分析其使用的排序算法和优化策略,涵盖基本类型与对象数组的不同实现。
快乐肚皮
4 天前
java
·
算法
·
排序算法
·
堆排序
堆排序详解:从理论到实践
堆排序(Heap Sort)是一种高效的排序算法,由 J. W. J. Williams 于 1964 年提出。它巧妙利用堆数据结构的特性,结合了插入排序和归并排序的优点,兼具原地排序和稳定时间复杂度的特性。本文将深入剖析堆排序的原理、实现及优化,助你彻底掌握这一经典算法。
零叹
4 天前
java
·
数据结构
·
算法
·
排序算法
篇章十 数据结构——排序
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的
涛哥码咖
4 天前
前端
·
算法
·
排序算法
前端十种排序算法解析
3.3.13.3.2插入排序的思想为选择一个数,与一个有序数组进行比较,找到小与该数的位置插入希尔排揎为插入排序的改进方法,先将数组分组,然后每个子数组再进行排序
快乐肚皮
4 天前
java
·
算法
·
排序算法
快速排序:分治思想的经典实践
排序算法是计算机科学的基石,而快速排序以其卓越的性能和优雅的实现,成为最广泛应用的排序算法之一。本文将深入剖析快速排序的每个细节,带大家领略这一经典算法的魅力。
快乐肚皮
5 天前
java
·
算法
·
性能优化
·
排序算法
快速排序优化技巧详解:提升性能的关键策略
快速排序是最常用的排序算法之一,但在实际应用中,原始实现可能面临性能瓶颈。本文将深入探讨多种优化技巧,结合原理说明和Java示例代码,帮助您显著提升快速排序的性能。
编程绿豆侠
5 天前
算法
·
leetcode
·
排序算法
力扣HOT100之技巧:75. 颜色分类
这道题实际上就是让我们不用sort()函数来实现对原数组的排序,这里我直接使用快速排序对原数组进行排序了,也是复习一下基于快慢指针的快速排序写法。面试手撕快排的思路参考这个视频。 用时击败100%,还行。下面直接贴代码。
南枝异客
5 天前
开发语言
·
javascript
·
数据结构
·
算法
·
leetcode
·
排序算法
三数之和-力扣
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。
程序员爱钓鱼
6 天前
google
·
go
·
排序算法
Go语言同步原语与数据竞争:Mutex 与 RWMutex
在Go语言并发程序中,当多个 goroutine 同时读写同一共享变量时,如果不加以控制,会引发数据竞争(race condition),导致程序行为不可预期。
GalaxyPokemon
6 天前
数据结构
·
算法
·
排序算法
归并排序:分治思想的高效排序
目录基本原理流程图解实现方法递归实现非递归实现演示过程时间复杂度归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰·冯·诺伊曼在1945年提出。其核心思想包括:
蓝澈1121
7 天前
数据结构
·
算法
·
排序算法
数据结构之常用排序算法(冒泡、选择等)
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)
红衣信
8 天前
排序算法
二分查找算法:原理、实现与应用
在计算机科学里,查找算法是非常基础且重要的一部分。其中,二分查找算法因其高效的查找效率,在众多场景中被广泛应用。本文将详细介绍二分查找算法的原理、用 JavaScript 实现该算法,以及它的应用场景。
m0_73859632
8 天前
算法
·
排序算法
十大排序算法
时间复杂度空间复杂度稳定性排序后,元素的相对位置有没有改变是否原地排序排序过程中不需要额外的辅助空间,只需要常数级的空间
jingfeng514
8 天前
数据结构
·
算法
·
排序算法
详解快排的四种方式
快速排序是Hoare于1962年提出的⼀种⼆叉树结构的交换排序⽅法,其基本思想为:任取待排序元素 序列中的某元素作为基准值,按照该排序码将待排序集合分割成两⼦序列,左⼦序列中所有元素均⼩ 于基准值,右⼦序列中所有元素均⼤于基准值,然后最左右⼦序列重复该过程,直到所有元素都排列 在相应位置上为⽌。
AL流云。
8 天前
数据结构
·
算法
·
leetcode
·
排序算法
【优选算法】分治
程序员爱钓鱼
9 天前
后端
·
go
·
排序算法
Go语言并发模型与模式:Worker Pool 模式
在Go语言高并发程序中,若每来一个任务就新建一个 Goroutine,不加控制地并发可能会导致资源耗尽甚至系统崩溃。Worker Pool(工作池)模式可以有效地限制并发数量,实现资源的可控利用。
oraen
9 天前
排序算法
11种排序算法的简单实鉴和简单性能测试
最近看算法导论,前面说了几种排序算法,于是我就都实践了一把,并且写了个简单的程序测试他们的正确性和性能,看能否和理论对的上,虽然我考虑到系统调度等因素实验其实并不是很严谨,主要是作为娱乐吧哈哈哈哈。本次排序算法包括