技术栈
排序算法
汝即来归
19 小时前
数据结构
·
算法
·
排序算法
选择排序和冒泡排序;MySQL架构
(1)选择排序原理:代码:时间复杂度:O(n2)。空间复杂度:O(1)。选择排序只需要常量级别的额外空间,用于交换元素。
光头man
1 天前
算法
·
排序算法
【八大排序(二)】希尔排序
插入排序一般来说是低效的 因为它一次只能挪动一个数据 如果你不知道插入排序可跳转插入排序所以Donald Shell(希尔)这个人 对插入排序进行了优化 将插入排序提升了不止一个档次 甚至可以和快速排序平起平坐!
云边有个稻草人
1 天前
算法
·
排序算法
·
双指针算法
【优选算法】—移动零(双指针算法)
云边有个稻草人-CSDN博客想当一名牛×的程序员怎么能少的了练习算法呢?!今天就立即开启一个新专栏,专干算法,提高算法能力(废柴的我也在准备蓝桥杯哈哈)——
黄亚磊11
2 天前
mysql
·
排序算法
选择排序 冒泡排序 MySQL 架构
思想:1、遍历数组,选择找到最大值,记录最大值下标 maxindex,然后将最大值与最后一个值交换,即 swap(vec[maxindex] , vec[n-1]);
In 2029
2 天前
java
·
算法
·
排序算法
堆【Lecode_HOT100】
啥也不会的研究僧
2 天前
数据结构
·
算法
·
排序算法
【算法篇】——数据结构中常见八大排序算法的过程原理详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档C++数据结构中的排序算法是编程基础中的重要内容。本文将介绍八大经典排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、希尔排序和计数排序。每种算法都有其独特的优势和应用场景,从小规模数据到大规模数据,从简单的整数排序到复杂的排序需求。通过理解和应用这些算法,可以更好地解决实际编程中的排序问题,提升程序性能和效率。 八大排序性能对比表: “不改变相同元素的相对排布,即为稳定”
小孩玩什么
3 天前
java
·
c语言
·
数据结构
·
经验分享
·
redis
·
算法
·
排序算法
堆排:一种高效的比较排序算法
欢迎来到我的:世界希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 !在计算机科学中,排序算法是一类非常重要的算法,它们用于将一系列元素按特定顺序排列。堆排序,作为一种基于比较的排序算法,因其优秀的平均和最坏情况时间复杂度(均为O(n log n))而被广泛应用。本文将详细介绍堆排序的原理、实现步骤以及其优缺点。
仟濹
3 天前
c语言
·
c++
·
笔记
·
学习
·
算法
·
贪心算法
·
排序算法
洛谷【贪心算法】P1803 学习笔记
2024-12-20 - 第 41 篇 洛谷贪心算法题单 - 贪心算法 - 学习笔记 作者(Author): 郑龙浩 / 仟濹(CSND账号名)
TANGLONG222
3 天前
c语言
·
数据结构
·
c++
·
算法
·
面试
·
蓝桥杯
·
排序算法
【初阶数据结构与算法】八大排序算法之交换排序(冒泡排序,快速排序---hoare、挖坑法、lomuto双指针3种版本)
冒泡排序的命名是因为它的排序操作就像水平面在冒泡一样,当我们讲完冒泡排序就知道为什么这么说了,接着我们来一起学习一下冒泡排序 冒泡排序的基本思路很简单,就是模拟冒泡的过程,如果我们要排升序,就把当前待排序的元素中,把最大的那个元素看成泡,数组的最后看做水平面,我们通过一趟冒泡排序就要将泡 “冒” 出来,其实就是让最大的那个元素放在数组的最后 如果我们要排降序,就把最小的那个元素看做泡,数组的最后看做水平面,把它 “冒” 出来,也就是把最小的那个元素放在数组的最后,无论是排升序还是排降序,都是不
code monkey.
3 天前
c++
·
算法
·
排序算法
【排序算法】—— 归并排序
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
陌繁
5 天前
算法
·
leetcode
·
排序算法
leetCode 15.三数之和(超简单讲解)
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。
code monkey.
5 天前
c++
·
算法
·
排序算法
【排序算法】——选择排序
排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
就爱学编程
5 天前
数据结构
·
算法
·
排序算法
重生之我在异世界学编程之算法与数据结构:算法复杂度介绍篇
大家好,这里是小编的博客频道 小编的博客:就爱学编程很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!
冠位观测者
6 天前
数据结构
·
算法
·
排序算法
常见排序算法总结 (五) - 堆排序与堆操作
利用堆能够维护数组中最大值的性质,根据数组元素建立最大堆,依次弹出元素并维护堆结构,直到堆为空。堆排序是不稳定的,因为堆本质上是完全二叉树,排序的过程涉及二叉树的父子节点交换,没有办法保证办法保证相等的值一定在同一棵子树上被处理。
冷子夜
6 天前
php
·
排序算法
PHP排序算法:数组内有A~E,A移到C或者C移到B后排序,还按原顺序排序,循环
火山灿火山
7 天前
数据结构
·
算法
·
排序算法
详解排序几大算法
基本思想:步骤:当插入第n个元素的时候前面的arr[0]到arr[n-1]都已经排序好了,此时我们将arr[n]与前面的相比较,假设我们需要一个升序的数组,那当arr[n]小于所比较的这个数的时候,就跟其交换位置,原来位置上的元素顺序后移。
TANGLONG222
7 天前
c语言
·
数据结构
·
c++
·
考研
·
算法
·
面试
·
排序算法
【初阶数据结构与算法】八大排序算法之选择排序(直接选择排序、堆排)
选择排序很好理解,就是按照字面意思来,比如我们想要将一个数组排成升序,那么小的值就会被放在前面,我们就可以每次都找到数组中的最小值,把它往前面放,循环往复,最终我们就可以将数组排成升序 降序也是如此,就是每次我们都找到数组中的最小值,把它往后面放,最后我们就能将数组排成降序,这就是单向直接选择排序,我们画个简易图理解理解: 如上图就是使用单向直接选择进行排序的例子,思路很简单,那么有了思路,我们接下来就开始写代码,如下:
懒洋洋大魔王
8 天前
数据结构
·
算法
·
排序算法
数据结构——排序
稳定性:希尔排序是不稳定的排序算法,因为在不同的子序列中插入元素可能会改变相同元素的原始相对顺序。
信徒_
9 天前
数据结构
·
算法
·
排序算法
常用排序算法
冒泡排序是一种基础的排序算法,它的思想是通过相邻元素的比较和交换,将较大的元素逐步“冒泡”到数组末尾。
一名技术极客
9 天前
数据结构
·
算法
·
排序算法
交换排序(Swap Sort)详解
交换类排序主要是通过两两比较待排元素的关键字,若发现与排序要求相逆,则交换之。在这类排序方法中最常见的是起泡排序(冒泡排序)和快速排序,其中快速排序是一种在实际应用中具有很好表现的算法。