E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
堆排序
基于比较的排序算法总结(java实现版)
目录什么是基于比较的排序算法什么是排序算法的稳定性基础排序算法的稳定性插入排序法希尔排序法冒泡排序法总结高级算法的稳定性快速排序法
堆排序
法归并排序法总结注意什么是基于比较的排序算法基于比较的排序算法定义
王木木很酷_
·
2023-12-22 11:21
#数据结构与算法
排序算法
算法
数据结构
java
开发语言
排序算法的稳定性
12.19_黑马数据结构与算法笔记Java
目录203排序算法选择排序204排序算法
堆排序
205排序算法插入排序206排序算法希尔排序207排序算法归并排序自顶至下208排序算法归并排序自下至上209排序算法归并加插入210排序算法单边快排211
simplesin
·
2023-12-22 08:00
数据结构与算法
笔记
java
leetcode
后端
开发语言
算法
排序算法
堆的时间复杂度
1、
堆排序
的时间复杂度为O(nlogn)2、对N个元素建堆的时间复杂度为O(N),删除堆顶元素的时间复杂度为O(logN),因此删除堆所有元素的时间复杂度为O(NlogN)。
hn小菜鸡
·
2023-12-22 01:17
算法刷题-堆
算法
数据结构
堆排序
算法
我们知道最小堆的最上面的数一定是最小的(最大堆最上面是最大的),因此
堆排序
的过程就是取出堆的根部最大或最小值,然后再去维护堆变成最大堆或最小堆,再取出,再维护的过程,而维护的过程时间复杂度是O(logN
3分人生
·
2023-12-22 00:41
读书笔记
算法
数据结构:直接选择排序和
堆排序
直接选择排序:这里我用两个变量同时找出最小值和最大值。注意:若begin为最大值,maxi即为最大值的下标,若将最小值与其交换,最大值的下标此时就不再是maxi,而变为mini了,故此时要调整maxi的位置直接选择排序的时间复杂度O(N^2)voidPrintArray(int*a,intn){inti;for(i=0;ia[maxi])maxi=i;}Swap(&a[begin],&a[mini
guai_guai_guai
·
2023-12-21 22:52
算法
数据结构
八大排序(超详细,万字总结)
1.1思想1.2代码实现1.3时间复杂度分析1.4最好最坏情况2.希尔排序2.2代码实现2.3时间复杂度分析2.4最好最坏情况3.选择排序3.1思想3.2代码实现3.3时间复杂度分析3.4最好最坏情况4.
堆排序
爪哇爪哇哇
·
2023-12-21 22:48
数据结构
排序算法
算法
【数据结构】八大排序之
堆排序
算法
个人主页:修修修也所属专栏:数据结构⚙️操作环境:VisualStudio2022目录一.
堆排序
简介及思路二.
堆排序
的代码实现三.
堆排序
的时间复杂度分析结语一.
堆排序
简介及思路
堆排序
(HeapSort)
修修修也
·
2023-12-21 19:54
C语言
数据结构
数据结构
排序算法
算法
c语言
学习
笔记
数据结构-二叉树
目录树概念及结构二叉树概念及结构概念特殊的二叉树二叉树的性质二叉树的存储结构二叉树的顺序结构及其实现二叉树的顺序结构堆的概念及结构堆的实现堆的结构堆的初始化堆的销毁堆的插入堆的删除取堆顶元素堆的大小堆是否为空堆的应用
堆排序
核动力C++选手
·
2023-12-21 15:41
数据结构初阶
数据结构
堆与二叉树(上)
涉及到的一些结论,证明放到最后,可以选择跳过,知识点过多,当复习一用差不多,如果是刚学这一块的,建议打勾的概念多留意,推论前三个相似,了解其中一个即可,重点看推论四(主要是和堆的实现有关),一定要动手实现
堆排序
哦
小小小汐-
·
2023-12-21 13:23
数据结构
c语言
树
冒泡排序/选择排序/插入排序/快速排序/归并排序/桶排序/
堆排序
/希尔排序/计数排序/基数排序/二分查找/广度优先搜索/深度优先搜索
排序算法:冒泡排序(BubbleSort):通过重复地比较相邻的元素并交换它们,使得最大(或最小)的元素逐渐移动到列表的一端,从而实现排序。选择排序(SelectionSort):在未排序的部分中,选择最小(或最大)的元素,并将其放置在已排序部分的末尾,以此方式逐步构建排序序列。插入排序(InsertionSort):将未排序的元素逐个插入到已排序部分的正确位置,以此方式逐步构建排序序列。快速排序
XXYBMOOO
·
2023-12-21 12:08
排序算法
算法
数据结构
广度优先
深度优先
推荐算法
C++ OJ题测试—排序算法效率
目录OJ链接一、直接插入排序二、希尔排序三、直接选择排序常规:第二种:四、
堆排序
五、冒泡排序六、快速排序常规:三路划分优化效率七、归并排序八、计数排序OJ链接一、直接插入排序classSolution{
Han同学
·
2023-12-21 12:06
C++
排序算法
算法
c++
python实现
堆排序
法
对于简单选择排序法的实现过程中发现,虽然其是一种非常符合人类思维的排序方式,但是对于其实现过程中的时间复杂度,其实是较高的,所以针对这一点,人们提出了
堆排序
法,对简单选择排序法进行了改进,旨在提高排序效率
X Y sawyer
·
2023-12-21 08:44
python
算法
开发语言
C语言数据结构-排序
文章目录1排序的概念及运用1.1排序的概念1.2排序的应用2插入排序2.1直接插入排序2.2希尔排序2.3直接排序和希尔排序对比3选择排序3.1
堆排序
3.2直接选择排序4交换排序4.1冒泡排序4.2快速排序
惟长堤一痕
·
2023-12-20 19:13
C语言笔记
数据结构
c语言
排序算法
「数据结构」二叉树1
文章目录树二叉树特殊二叉树二叉树的性质存储结构堆堆的结构插入向上调整算法时间复杂度分析删除向下调整算法时间复杂度分析堆的创建(堆的初始化)
堆排序
topk问题写在最后树●树是一种非线性的数据结构,它是由n
Ice_Sugar_7
·
2023-12-20 11:59
初阶数据结构
数据结构
二叉树
查找与排序
lower_bound(first,last,target,cmp)upper_bound(first,last,target)排序sort()不稳定排序stable_sort()稳定排序常用排序算法快速排序
堆排序
归并排序链表归并排序哈希表自定义排序二分查找注意
何处微尘
·
2023-12-20 01:21
C++
数据结构与算法
c++
开发语言
数据结构
排序算法
算法
算法的10大排序
选择排序一颗星--冒泡排序一颗星--插入排序两颗星--归并排序(递归-难)三颗星--桶排序三颗星--计数排序四颗星--基数排序四颗星--快速排序,寻找标志位(递归-难)四颗星--又是比较难的希尔排序五颗星--
堆排序
谁教你这么剪的
鹿痴哇
·
2023-12-20 00:05
算法
python
经典排序算法总结
目录一、常见排序算法时间复杂度一、冒泡排序二、选择排序三、插入排序四、希尔排序五、归并排序六、快速排序七、
堆排序
一、常见排序算法时间复杂度一、冒泡排序冒泡排序(BubbleSort)是一种简单直观的排序算法
拉达哥
·
2023-12-19 21:52
排序算法
算法
数据结构
JavaSE 优先级队列(堆)
优先级队列3.1概念3.2内部原理3.3操作-入队列(向上调整)3.4操作-出队列(优先级最高)3.5返回队首元素(优先级最高)3.6java中的优先级队列3.7堆的常见用途3.7.1topK问题3.7.2
堆排序
JiA-Bai
·
2023-12-19 18:09
JavaSE
数据结构
数据结构
java
算法
后端
笔记
JavaSE 排序
3.2.1思想3.2.2实现3.2.3性能分析3.3希尔排序3.3.1思想3.3.2实现3.3.3性能分析4选择排序4.1选择排序4.1.1思想4.1.2实现4.1.3性能分析4.1.4双向选择排序4.2
堆排序
JiA-Bai
·
2023-12-19 18:07
JavaSE
数据结构
排序算法
java
算法
数据结构
经验分享
08-计数排序(Counting Sort)
前面介绍的冒泡,选择,插入,归并,快速,希尔,
堆排序
,都是基于比较的排序,这些基于比较的排序,有以下几个特点平均时间复杂度最低的是O(nlogn)而本节内容介绍的计数排序,不是基于比较的排序。
ducktobey
·
2023-12-19 01:51
【数据结构】二叉树——顺序结构
完全二叉树结论完全二叉树孩子节点的计算完全二叉树父节点的计算一.顺序结构1.理念补充2.堆概念:小根堆大根堆3.堆的实现1.初始化堆辅助函数——交换元素2.建堆——增加数据3.删除数据向下调整删除堆数据4.取堆顶元素4.
堆排序
向上调整
舜华丶
·
2023-12-18 18:03
数据结构
数据结构
算法
c语言
开发语言
【数据结构 — 排序 — 选择排序】
数据结构—排序—选择排序一.选择排序1.基本思想2.直接选择排序2.1算法讲解2.2.代码实现2.2.1.函数定义2.2.2.算法接口实现2.2.3.测试代码实现2.2.4.测试展示3.
堆排序
3.1.算法讲解
圥忈ゼ
·
2023-12-18 03:14
#
数据结构
##
排序
C语言
数据结构
算法
排序算法
c语言
数据结构-堆
1.堆的分类堆(Heap)是一种特殊的数据结构,通常用于实现优先队列、
堆排序
等算法。堆分为最大堆和最小堆两种形式。最大堆(MaxHeap):在最大堆中,每个节点的值都大于或等于其子节点的值。
阿狸轰
·
2023-12-18 01:54
数据结构与算法
数据结构
算法
C语言数据结构-----二叉树(2)堆的深入理解及应用、链式二叉树的讲解及代码实现
重复内容不会再进行说明,大家可以看上一节内容链接:C语言数据结构-----二叉树(1)认识数、二叉树、堆及堆的代码实现文章目录前言1.使用堆解决TOP-K问题2.向下调整堆的时间复杂度与向上调整堆的时间复杂度对比3.
堆排序
问题
Chris·Bosh
·
2023-12-18 01:41
数据结构
数据结构
c语言
算法
【数据结构】——排序算法简答题模板
排序算法的稳定性三、插入排序(一)直接插入排序的步骤(二)直接插入排序的稳定性(三)折半插入排序的步骤(四)希尔排序的步骤四、交换排序(一)冒泡排序的步骤(二)快速排序的步骤(三)快速排序的稳定性五、
堆排序
晚风(●•σ )
·
2023-12-17 07:18
数据结构重点习题
排序算法
数据结构
插入排序
交换排序
堆排序
快速排序
归并排序
排序-选择排序与
堆排序
文章目录一、选择排序二、
堆排序
三、时间复杂度四、稳定性一、选择排序思想:将数组第一个元素作为min,然后进行遍历与其他元素对比,找到比min小的数就进行交换,直到最后一个元素就停止,然后再将第二个元素min
双手插兜-装高手
·
2023-12-16 18:32
数据结构
排序算法
算法
数据结构
c语言
开发语言
经验分享
C语言必学的12个排序算法:计数排序(第9篇)
[C语言必学的12个排序算法:基础知识(第0篇)]线性时间排序之前学习的快速排序、
堆排序
、归并排序都是一类基于比较的排序算法,需要通过比较关键字大小确定数据元素的位置。
哪有岁月静好
·
2023-12-16 18:31
选择排序(多方式)
目录直接选择排序时空复杂度简单选择排序的特性
堆排序
时空复杂度
堆排序
的特性总结直接选择排序基本思想:给定一个待排序的数组或列表,简单选择排序通过不断选择最小(或最大)元素,并将其放置到已排好序部分的末尾,
无聊看看天T^T
·
2023-12-16 17:34
排序
数据结构
排序算法
算法
c语言
c++
top K问题(借我五分钟)
/t.csdnimg.cn/eqFmT二叉树的基本概念(C语言):http://t.csdnimg.cn/AkwTC大小堆的实现(C语言):http://t.csdnimg.cn/yoXVC看了就会的
堆排序
无聊看看天T^T
·
2023-12-16 17:03
堆
c语言
开发语言
leetcode
文章目录0914算法题leetcode179最大数leetcodenums数组两个数字和为target排序复习冒泡快速排序
堆排序
牛客DP18滑雪0914算法题leetcode179最大数给定一个nums
CODE20220318
·
2023-12-16 16:48
算法
数据结构
leetcode
【排序算法】之
堆排序
堆排序
的基本思想是:具体可看视频演示:
堆排序
-1、将带排序的序列构造成一个大(小)顶堆,根据大顶堆的性质,当前堆的根节点(堆顶)就是序列中最大的元素;buildHeap();-2、将堆顶元素和最后一个元素交换交换一次
大龄烤红薯
·
2023-12-16 15:57
算法学习
排序算法
java
算法
数据结构第六课 -----排序
python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨个人主页::小小页面gitee页面:秦大大一个爱分享的小博主欢迎小可爱们前来借鉴排序**作者前言**直接插入排序冒泡排序希尔排序直接选择排序
堆排序
快速排序
老秦包你会
·
2023-12-16 15:20
数据结构
数据结构树,二叉树,堆
二叉树概念及结构特殊的二叉树二叉树的性质二叉树选择题二叉树的存储结构4.堆的概念及结构父亲孩子下标关系编辑堆的实现接口堆结构体设计+堆的初始化+堆的销毁堆的插入(附:向上调整算法)堆的删除取堆顶数据+堆的大小+堆的判空5.堆的应用1.
堆排序
建堆
徐凤年lll
·
2023-12-16 15:20
数据结构
数据结构
数据结构之排序
目录1.常见的排序算法2.插入排序直接插入排序希尔排序3.交换排序冒泡排序快速排序hoare版本挖坑法前后指针法非递归实现4.选择排序直接选择排序
堆排序
5.归并排序6.排序总结一起去,更远的远方1.常见的排序算法排序
徐凤年lll
·
2023-12-16 15:42
数据结构
priority_queue的实现,容器和仿函数
首先我们要实现priority_queue就必须要了解其底层,本质其实就是
堆排序
,大根堆就是升序排序,小根堆就是降序排序。
炬火初现
·
2023-12-16 07:20
java
开发语言
Java----冒泡排序、选择排序、插入排序、快速排序、
堆排序
int[]arr={4,2,7,1,5,9,3,6,8};冒泡排序for(inti=0;iarr[j+1]){//前面一个和后面一个相互比较,较大的和较小的交换位置,较小的排前面,本次循环完成之后最大的放最后inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}插入排序for(inti=1;i=0&&arr[j]>k){arr[j+1]=arr[j];//
渣渣龙_拽得很
·
2023-12-16 05:05
算法
java
排序算法
算法
c语言
堆排序
(详解)
堆排序
堆排序
是一种基于二叉堆数据结构的排序算法,它的基本概念包括:建立堆:将待排序的列表构建成一个二叉堆,即满足堆的性质的完全二叉树,可以是最大堆或最小堆。
ETF_TT
·
2023-12-16 01:16
c语言
算法
开发语言
堆排序
排序算法
选择排序
visual
code
轻松理解 数据结构与算法中七大排序算法 (C语言实现)
特性总结:2.直接插入排序基本思想:时间复杂度:代码实现:特性总结:3.简单选择排序基本思想:时间复杂度:代码实现:特性总结:4.希尔排序(缩小增量排序)基本思想:时间复杂度:代码展示:特性总结:5.
堆排序
基本思想
肥or胖
·
2023-12-15 23:51
数据结构
C语言语法详解
排序算法
数据结构
c语言
【数据结构和算法】八大排序算法(插入排序,希尔排序,选择排序,
堆排序
,冒泡排序,快速排序,归并排序,计数排序)
一、常见的排序算法插入排序:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。实际中我们玩扑克牌时,就用了插入排序的思想选择排序:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。交换排序:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排
芥末虾
·
2023-12-15 21:00
数据结构和算法
算法
排序算法
数据结构
c++
c语言
【数据结构】插入排序,希尔排序,选择排序,
堆排序
,冒泡排序
1.插入排序思路:插入排序将一个数插入一个有序的数组里面,将这个数和数组元素挨着比较,直到他插入到合适的位置。动画演示:步骤:1.定义一个变量tmp保存要插入的数据2.在循环中用tmp和有序数组中的元素比较(比方说要和a[end]比较,如果tmpa[end]的话就直接结束循环,因为已经找到了自己的位置,就是a[end+1].3.当循环结束则表明已经找到了tmp的位置,下标为end+1,将tmp赋值
嘎嘎旺
·
2023-12-15 21:29
数据结构
数据结构
排序算法
算法
排序算法-冒泡、选择、堆、插入、归并、快速、希尔
左边的比较大,就交换或者挪动array[cur]=array[cur-1];编码的区间设置:建议是左闭右开,方便[begin,end)计算方面:使用右移代替除法☺排序算法—重点放到比较的排序算法—冒泡、选择、
堆排序
插入
伟庭大师兄
·
2023-12-15 21:58
数据结构与算法
排序算法
算法
冒泡
选择
插入
【排序算法】插入、选择、堆排、快排、归并、计数
insertSort1、实现2、性能分析3、折半插入排序(了解)二、希尔排序ShellSort1、原理2、实现3、性能分析三、选择排序selectSort1、原理2、实现3、性能分析4、双向选择排序(了解)四、
堆排序
三春去后诸芳尽
·
2023-12-15 21:25
数据结构
排序算法
算法
数据结构
java
二叉树
排序算法总结(选择、冒泡、插入、希尔、归并、快排、
堆排序
、桶排序、基数排序、计数排序)
排序算法总结(选择、冒泡、插入、希尔、归并、快排、
堆排序
、桶排序、基数排序、计数排序)选择排序冒泡排序插入排序直接插入排序希尔排序(改进的插入排序)归并排序快速排序
堆排序
桶排序基数排序计数排序算法性能比较
m0_62024778
·
2023-12-15 21:23
排序算法
排序算法
算法
常见排序算法(冒泡排序、插入排序、希尔排序、选择排序、堆排、快排、归并排序、计数排序)
文章目录一.排序的概念及评价标准二、基础排序算法1.冒泡排序2.直接插入排序3.希尔排序4.选择排序5.
堆排序
6.快速排序7.归并排序8.计数排序9.小结一.排序的概念及评价标准排序:所谓排序,就是使一串记录
星星还会闪
·
2023-12-15 21:40
排序算法
算法
c语言
排序 | 冒泡插入希尔选择堆快排归并计数排序
排序|冒泡插入希尔选择堆快排归并计数排序文章目录排序|冒泡插入希尔选择堆快排归并计数排序冒泡排序插入排序希尔排序选择排序
堆排序
快速排序--交换排序三数取中快速排序hoare版本快速排序挖坑法快速排序前后指针法快速排序
仍然探索未知中
·
2023-12-15 21:05
数据结构与算法
排序算法
算法
数据结构
c语言
【数据结构】——排序篇(上)
前言:前面我们已经学过了许许多多的排序方法,如冒泡排序,选择排序,
堆排序
等等,那么我们就来将排序的方法总结一下。我们的排序方法包括以下几种,而快速排序和归并排序我们后面进行详细的讲解。
Lehjy
·
2023-12-15 19:18
数据结构
数据结构
排序算法
算法
排序算法:【冒泡排序】、逻辑运算符not用法、解释if not tag:
4、常见的排序算法:推荐:快速排序、
堆排序
、归并排序不推荐:冒泡排序、选择排序、插入排序其它排序:希
马到成功.
·
2023-12-15 15:01
数据结构与算法
排序算法
算法
数据结构
python
选择排序和
堆排序
目录前言一.选择排序1.思想2.实现3.特点二.
堆排序
1.思想2.实现3.特点前言排序算法是计算机科学中的基础工具之一,对于数据处理和算法设计有着深远的影响。
MindibniM
·
2023-12-15 15:28
数据结构
c语言
排序算法
算法
数据结构
堆排序
算法(C++版)
1、介绍
堆排序
(HeapSort)是一种基于二叉堆数据结构的排序算法。它的基本思想是先将待排序的元素构建成一个二叉堆,然后依次将堆顶元素与堆中最后一个元素交换,调整堆,重复此过程直到整个数组有序。
日出西边
·
2023-12-15 11:26
C
排序算法
c++
算法
[算法基础 ~排序] Golang 实现
文章目录排序什么是排序排序的分类1.冒泡1.1冒泡排序1.2.快速排序2.选择2.1简单选择排序2.2
堆排序
3.插入3.1直接插入3.2折半插入3.3希尔排序4.归并排序代码实现5.基数排序排序图片就不贴了吧排序什么是排序以下部分动图来自
程序员三木
·
2023-12-15 10:41
数据结构与算法
算法
golang
开发语言
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他