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
优先队列-堆排序
08-计数排序(Counting Sort)
前面介绍的冒泡,选择,插入,归并,快速,希尔,
堆排序
,都是基于比较的排序,这些基于比较的排序,有以下几个特点平均时间复杂度最低的是O(nlogn)而本节内容介绍的计数排序,不是基于比较的排序。
ducktobey
·
2023-12-19 01:51
python实现最小二叉堆---最小堆结构
对于这个问题,我们得先知道“
优先队列
和二叉堆”它们之间的关系。队列中有一种变体,我们称之为“
优先队列
”。根据优先级来决定:优先级最高的在最前面,优先级最低的在最后面。
MADAO_luv
·
2023-12-19 00:52
java
算法
开发语言
【数据结构】二叉树——顺序结构
完全二叉树结论完全二叉树孩子节点的计算完全二叉树父节点的计算一.顺序结构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
数据结构重点习题
排序算法
数据结构
插入排序
交换排序
堆排序
快速排序
归并排序
Java:栈、队列、双向队列、
优先队列
一、栈1.什么是栈?栈stack是一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入,删除操作,遵循先进后出的原则。对于栈而言,允许进行插入,删除操作的一端被称为栈顶top,另一端咋被称为栈底bottom。2.java中的栈类:Stack方法:https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html二、队
alex很累
·
2023-12-17 06:07
【c++】stl_priority_queue优先级队列
priority_queue的本质三、priority_queue的使用四、priority_queue的模拟实现总结一、priority_queue的介绍首先让我们通过阅读优先级队列的官方文档简单翻译一下1.
优先队列
是一种容器适配器
薄荷冰ovo
·
2023-12-17 02:42
c++
开发语言
排序-选择排序与
堆排序
文章目录一、选择排序二、
堆排序
三、时间复杂度四、稳定性一、选择排序思想:将数组第一个元素作为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
开发语言
算法基础概念之数据结构
邻接表每个点作为头节点接一条链表链表中元素均为该头节点指向的点
优先队列
参数:①储存元素类型②底层使用的存储结构(一般为vector)③比较方式(默认小于)
阳光男孩01
·
2023-12-16 06:36
图论
数据结构
算法
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
排序算法
算法
考研真题数据结构
3.创建一个
优先队列
(优先级队列),
柒-寒
·
2023-12-16 03:38
数据结构
考研
计算机考研
考研
数据结构
下一个更大元素 IV【栈 数组 二分查找 排序 单调栈 堆(
优先队列
)】
LeetCode-2454.下一个更大元素IV【栈数组二分查找排序单调栈堆(
优先队列
)】题目描述:解题思路一:单调栈,典型的单调栈问题,不过这里用的是双单调栈,因为是找第二大整数。
旋转的油纸伞
·
2023-12-16 02:39
算法题
leetcode
算法
职场和发展
单调栈
数组
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
开发语言
【数据结构】——堆|Top-k|
堆排序
目录概念:堆的实现构建初始化销毁插入元素往上调整删除堆顶元素往下调整返回堆顶元素返回有效个数是否为空
堆排序
Top-k问题编辑创建数据堆top-k概念:堆是将数据按照完全二叉树存储方式存储到一维数组中;堆分为大堆和小堆
敷敷_
·
2023-12-15 08:18
【数据结构】
数据结构
算法
面试
职场和发展
程序人生
数据结构复盘——第八章:排序
文章目录第一部分:各种排序方法的比较第二部分:插入排序1、直接插入排序2、折半插入排序3、希尔排序第三部分:交换排序1、冒泡排序2、快速排序第四部分:选择排序1、简单选择排序2、
堆排序
2.1堆的概念2.2
时生丶
·
2023-12-15 07:54
数据结构
数据结构
排序算法
算法
《数据结构、算法与应用C++语言描述》-
堆排序
- 借助priority_queue的C++实现
堆排序
完整可编译运行代码见:Github::Data-Structures-Algorithms-and-Applications/_27HeapSort定义借助堆进行排序。
Jasmine-Lily
·
2023-12-15 07:38
数据结构
算法与应用
C++语言描述学习笔记
c++
算法
数据结构
数据结构 |
堆排序
#include#include/*template//方法1voidBuildHeap(T*pa,intsize)//建堆{for(inti=size/2-1;i>=0;i--)//从邻近叶子的第一个非叶子结点至根节点PercolateDown(pa,i,size);//向下调整为堆}templatevoidPercolateDown(T*pa,intpos,intsize)//将[pos,si
巧克力味的桃子
·
2023-12-15 06:45
数据结构
数据结构
算法
【Python】快速排序,归并排序,
堆排序
目录Java版快速排序归并排序
堆排序
Java版Java版代码:https://blog.csdn.net/m0_60370702/article/details/123417783?
空城za
·
2023-12-15 03:38
leetcode刷题总结
python
排序算法
工作记录-----TOP K 小顶堆源码---小白也能看懂
使用
优先队列
(PriorityQueue)来实现小顶堆importjava.util.PriorityQueue;publicclassMinHeapExample{publicstaticvoidmain
什么什么啊啊啊
·
2023-12-15 03:42
工作
开发语言
java
堆排序
,建堆
堆排序
的源代码和实现1.堆是什么?首先先看一个图片小顶堆的意思就是顶的元素最小,两个子节点的元素要大于父节点。大顶堆同理。小顶堆就像是一个金字塔。
自律的阿龙
·
2023-12-14 23:13
数据结构
c语言
算法
数据结构
c语言
开发语言
12.13_黑马数据结构与算法笔记Java
目录098堆heapify3099堆增删替换100堆e01
堆排序
100堆e02求数组第k大元素100堆e03求数据流第k大元素100堆e04求数据流中位数1100堆e04求数据流中位数2100堆e04求数据流中位数
simplesin
·
2023-12-14 20:31
笔记
java
数据结构
链表
leetcode
算法
后端
决战排序之巅(一)
voidverify(int*arr,intn)测试InsertSort测试ShellSort测试速度InsertSort&ShellSort选择排序直接选择排序voidSelectSort(int*arr,intn)
堆排序
蒋志昂
·
2023-12-14 19:30
数据结构
排序算法
c语言
数据结构
算法
开发语言
算法学习系列之排序算法:原理、应用场景与C++实现精解
文章目录前言原理和应用场景快速排序的实现一般的递归快速排序三点取中法单边递归快速排序无监督快速排序混合排序的实现C++标准库sort算法我设计的混合排序算法
堆排序
的实现我的实现另一种实现解释特性其它c+
梦想的理由
·
2023-12-14 19:42
c++
算法
算法
排序算法
学习
C++
优先队列
的使用
1.什么是priority_queuepriority_queue是C++中的容器,实现
优先队列
。
飞翔的云中猪
·
2023-12-14 17:00
c++
开发语言
4.数据结构(0x3f:从周赛中学算法 2022下)
来自0x3f【从周赛中学算法-2022年周赛题目总结(下篇)】:https://leetcode.cn/circle/discuss/WR1MJP/包括堆(
优先队列
)、单调栈、单调队列、字典树、并查集、
Miraclo_acc
·
2023-12-14 17:43
#
周赛分类练习题
leetcode
堆的知识点总结
目录一、堆1.1概念1.2性质二、堆的实现2.1向下调整算法(建立大根堆)2.2向上调整(建立大根堆)2.3建堆的时间复杂度2.4堆的插入与删除三、堆的运用3.1
堆排序
3.2TOPK问题一、堆1.1概念堆大白话讲就是完全二叉树
Mr.anla
·
2023-12-14 15:01
算法
java
数据结构
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他