技术栈
排序算法
未来之窗软件服务
2 天前
数据结构
·
算法
·
排序算法
·
仙盟创梦ide
·
东方仙盟
计算机考试-快速排序—东方仙盟
选一个基准元素 (pivot) 把序列划分成两部分:小于基准的放左边,大于基准的放右边。 然后递归处理左区间、右区间。
春生野草
2 天前
c语言
·
笔记
·
排序算法
C基础--八大排序(个人笔记)
冒泡排序:两两对比交换简单选择排序:每一轮从待排序的元素中选出最小(或最大)的一个元素,将其放在已排序序列的末尾,直到全部元素排序完成。
王老师青少年编程
3 天前
c++
·
排序算法
·
csp
·
高频考点
·
信奥赛
·
三位数排序
csp信奥赛C++高频考点专项训练:【排序算法】案例1:三位数排序
给出三个整数 a , b , c ( 0 ≤ a , b , c ≤ 100 ) a,b,c(0\le a,b,c \le 100) a,b,c(0≤a,b,c≤100),要求把这三位整数从小到大排序。
肖志-AI全栈
3 天前
开发语言
·
javascript
·
排序算法
JavaScript 快速排序:从 pivot、双指针到分治思想
最近在整理排序算法,前面学过冒泡排序、选择排序、插入排序,这几种排序都比较直观,但时间复杂度一般是 O(n^2)。
微露清风
3 天前
学习
·
算法
·
排序算法
快速排序算法学习记录
快速排序由 Tony Hoare 于 1959 年提出,是一种基于分治思想的高效排序算法。核心步骤:尽管快速排序在平均情况下表现优异,但它并非完美无缺:
危桥带雨
4 天前
数据结构
·
算法
·
排序算法
排序算法(快排、归并、计数、基数排序)
排序思想代码实现补充排序思想代码实现补充排序思想代码实现补充
长不胖的路人甲
4 天前
java
·
算法
·
排序算法
选择排序 Java 实现 + 完整思路解析
选择排序思想: 将数组分为「已排序区间」和「未排序区间」。特点总结(面试常考)java运行数组:[6, 3, 8, 2, 9, 1]
en.en..
8 天前
开发语言
·
数据结构
·
算法
·
c#
·
排序算法
冒泡排序与选择排序完整对比解析
生活比喻:每层电梯口放西瓜,每次只抱一个,上楼途中遇到更大西瓜就交换,一趟走完,最大西瓜会落到最末尾。
dsyyyyy1101
9 天前
开发语言
·
javascript
·
排序算法
用JavaScript实现排序算法
冒泡排序,插入排序,快速排序,归并排序,桶排序,选择排序每次比较相邻两个元素,如果前面的比后面大,就交换。 每一轮都会把最大的元素"冒泡"到最后。
闪电悠米
10 天前
数据结构
·
算法
·
leetcode
·
贪心算法
·
排序算法
力扣hot100-56.合并区间-排序详解
LeetCode 56「合并区间」给出若干区间:要求把所有有重叠的区间合并,最终返回一组互不重叠的区间。
玖玥拾
11 天前
数据结构
·
c++
·
算法
·
排序算法
C++ 数据结构 八大基础排序算法专题
最简单的基础交换排序,重复遍历数组,相邻两个元素两两比较,逆序则交换;每一轮遍历会把当前未排序区间最大值 “冒泡” 到区间末尾。
:-)
12 天前
java
·
开发语言
·
数据结构
·
算法
·
排序算法
算法-归并排序
像“分家再合并”一样,先把队伍从中间劈成两半,一直劈到每个人自成一个小队(天然有序)。然后两两合并,在合并时像“双指针”一样,每次只比较两个小队排头的人,谁小谁先站到新的队伍里。不断向上合并,最后整个队伍就排好序了。
郝学胜-神的一滴
13 天前
开发语言
·
数据结构
·
c++
·
python
·
程序人生
·
算法
·
排序算法
算法实战:最小k个数——大顶堆的优雅解法
在算法刷题与工程实践中,从海量数据中筛选最小 k 个元素是极为经典的高频考点,其核心本质是集合最值的动态维护。诸多初学者常陷入暴力排序的思维桎梏,却不知堆结构恰是破解此类问题的神兵利器。本文将以逻辑推演为径,以代码实现为舟,层层解析大顶堆求解最小 k 个数的底层原理,助你贯通数据结构与算法应用的思维壁垒。
:-)
13 天前
数据结构
·
算法
·
排序算法
算法-希尔排序
像“分组接力赛”一样,一开始步长(gap)很大,把相隔很远的元素分到一组进行插入排序,让数据能快速跨越到接近最终位置的地方(预排序);然后不断缩小步长,让数组越来越接近整体有序;最后当步长为 1 时,整个数组只需进行一次普通的插入排序就能轻松搞定。
某不知名網友
13 天前
java
·
算法
·
排序算法
C++ 七大排序算法完整讲解
相邻元素两两比较,逆序则交换;每一轮把最大值 “浮” 到末尾。优化:标记本轮是否交换,无交换直接退出(有序提前终止)。
:-)
14 天前
数据结构
·
算法
·
排序算法
算法-堆排序
像“选拔赛”一样,每次把数组构造成一个“大顶堆”(保证最顶端是最大值)。然后把冠军(最大值)和队尾的人交换,让他提前“退休”到末尾。接着把剩下的队伍重新调整回大顶堆,再选出新的冠军换到倒数第二个位置。不断重复,队伍就从小到大排好序了。
:-)
14 天前
数据结构
·
算法
·
排序算法
基础算法-选择排序
像“选班长”一样,每次从剩下没排好序的队伍里,挑出最矮(最小)的那个人,直接让他站到队伍的最前面。然后从剩下的人里再挑最矮的,站到第二的位置。一直挑到最后,队伍就排好序了。
:-)
14 天前
数据结构
·
算法
·
排序算法
基础算法-插入排序
像“打扑克牌时理牌”一样,每次从手里还没排好的牌中抽出一张,从右往左和已经排好的牌挨个比较,找到合适的位置插进去,让手里的牌始终保持有序。
gumichef
14 天前
数据结构
·
算法
·
排序算法
排序专题(插入,)
把数组分成有序区间+无需区间两个部分,假设位置[0,end]的值都是按升序排列的,把end+1位置的值保存到变量tmp里,end位置的值大于tmp就往后挪一位,end也走到end-1,一直比较直到成功插入该数,然后进行下一轮比较。
码少女
15 天前
数据结构
·
算法
·
排序算法
数据结构——冒泡排序及优化
冒泡排序:思路:每一趟都从开始位置从左向右遍历,通过两两比较,如果左边值大于右边值,则交换(换句话说:每趟都可以将排序序列中最大值通过交换的方式,蠕动到最后面)