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
【排序算法】
排序算法
C++实现
1.冒泡算法:N个数,大循环需要进行N-1次,每次找到剩余数中,最大的数;小循环:从下标为0的数值开始,直到i-1位置(即有序部分的前一个位置)voidBubbleSort(vector&nums)//时间复杂度为:O(n2){intsize=nums.size();for(inti=size-1;i>0;--i)//N个数进行了N-1次大循环,这个只是规定了大循环次数{for(intj=0;jn
Worthwhile_DUT
·
2023-11-02 07:52
数据结构
C++
排序算法
C++实现排序 - 03 计数排序、桶排序和基数排序
数据结构与算法专栏——C++实现写在前面:今天我们继续来整理与O(n+k)有关的三个
排序算法
,即计数排序、桶排序和基数排序。
Pandaconda
·
2023-11-02 07:22
数据结构与算法
c++
算法
数据结构
排序算法
Python---
排序算法
二、使用步骤1.引入库2.读入数据总结前言Python中的
排序算法
用于对数据进行排序。
排序算法
可以使数据按照一定的规则进行排列,以便于数据的查找、统计、比较等操作。
北 染 星 辰
·
2023-11-02 06:20
python
python
开发语言
堆&堆排序
堆排序堆排序是一种原地的、时间复杂度为O(nlogn)的
排序算法
。
GrowthCoder
·
2023-11-02 05:42
34.写一个
排序算法
1-100随机数字进行排序
编程题目:34.写一个
排序算法
1-100随机数字进行排序,要求效率。
云魄
·
2023-11-02 04:40
Java编程(Java
Program)
#
Java编程06:算法应用
Java
编程
算法
排序算法
(1)
这里写目录标题排序插入排序直接插入排序希尔排序选择排序直接选择排序堆排序向下调整堆排序交换排序冒泡排序排序插入排序直接插入排序直接插入排序是O(N^2)的
排序算法
从0下标开始往后排voidInsertSort
dabai__a
·
2023-11-02 04:31
排序算法
算法
数据结构
力扣刷题 | 排序(包含十大
排序算法
的描述、复杂度和 Python 实现)
文章目录总述十大
排序算法
及分类算法描述复杂度Python实现选择排序堆排序插入排序希尔排序冒泡排序快速排序归并排序计数排序桶排序基数排序56合并区间57插入区间75颜色分类147对链表进行插入排序148
然然然然_
·
2023-11-02 02:13
力扣刷题
排序算法
leetcode
算法
数据结构
python
LeetCode-Python-147. 对链表进行插入排序
插入
排序算法
:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
暴躁老哥在线刷题
·
2023-11-02 01:09
Leetcode
链表
堆排序 详解+图解
堆排序是一种基于堆数据结构的
排序算法
,它的基本思想是将待排序序列构造成一个最大堆,然后将堆顶元素和堆底元素交换,再把堆的大小减一,使堆顶元素下沉到合适的位置,重复以上操作,直到整个序列有序。
认真敲代码的小火龙
·
2023-11-02 01:38
排序
算法
排序算法
数据结构
力扣刷题 -- 对链表进行插入排序
插入
排序算法
的步骤:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
༄༊心灵骇客༣
·
2023-11-02 01:37
力扣刷题
java
链表
leetcode
力扣:147. 对链表进行插入排序(Python3)
插入
排序算法
的步骤:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。
恽劼恒
·
2023-11-02 01:06
LeetCode
leetcode
算法
python
关于数据结构和算法的面试题
关于数据结构和算法的面试题目录Q1:数据结构和算法的知识点整理:Q2:链表,队列和栈的区别Q3:简述快速排序过程Q4:快速
排序算法
的原理Q5:简述各类算法时间复杂度、空间复杂度、稳定性对比Q6:什么是AVL
刘顺顺_
·
2023-11-01 19:14
编程语言
面试
数据结构
算法
排序算法
之基数排序
一、例子演示现有如下序列:{3,44,38,5,47,15,36,32,50},现在要利用基数
排序算法
对这9个元素进行从小到大的排序,怎么排呢?
小C哈哈哈
·
2023-11-01 14:16
基数排序
桶排序
桶思想
算法
排序
为什么Python中sort方法和sorted函数调用废弃使用cmp参数
Python中sort方法和sorted函数老猿在前面一些章节介绍过,具体语法及含义在此不再展开说明,但老猿在前面学习相关内容时,只使用了简单的案例,对这两个方法的key参数没有深入研究,总以为就是以前c语言
排序算法
中的
LaoYuanPython
·
2023-11-01 11:36
常见
排序算法
之冒泡排序
常见
排序算法
之冒泡排序冒泡排序(BubbleSort),是一种较简单的
排序算法
。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从小到大、首字母从A到Z)错误就把他们交换过来。
梦里才是真
·
2023-11-01 11:22
排序(上):为什么插入排序比冒泡排序更受欢迎?
如何分析一个“
排序算法
”(1).
排序算法
的执行效率1.最好、最坏、平均情况时间复杂度2
ywangjiyl
·
2023-11-01 09:50
数据结构与算法
9.排序(上):为什么插入排序比冒泡排序更受欢迎
文章目录前言一、如何分析一个“
排序算法
”?
tzzt01
·
2023-11-01 09:44
数据结构与算法
11.讲排序(上):为什么插入排序比冒泡排序更受欢迎
文章目录1.如何分析⼀个“
排序算法
”?
tobebetter9527
·
2023-11-01 09:40
#
数据结构和算法
-
极客时间
王争
排序算法
算法
java
(小规模数据量
排序算法
:冒泡、插入、选择)
(而选择排序又不做考虑)
排序算法
的执行效率考虑方向(排序)稳定性冒泡排序插入排序选择排序为什么插入排序比冒泡排序更受欢迎?
一只小小狗
·
2023-11-01 09:35
算法
面试
排序算法
java
算法
2021-05-16 排序(上):为什么插入排序比冒泡排序更受欢迎?
如何分析一个“
排序算法
”?
排序算法
的执行效率1.最好情况、最坏情况、平均情况时间复杂度第一,有些
排序算法
会区分,为了好对比,所以我们最好都做一下区分。
hhcccchh
·
2023-11-01 09:04
网课
算法
排序算法
11 _ 排序(上):为什么插入排序比冒泡排序更受欢迎?
排序非常重要,所以我会花多一点时间来详细讲一讲经典的
排序算法
。
排序算法
太多了,有很多可能你连名字都没听说过,比如猴子排序、睡眠排序、面条排序等。
cjh-Java
·
2023-11-01 09:26
#
数据结构与算法之美
算法
排序算法
java数据机构.冒泡排序,选择排序 插入排序 递归算法,递归求阶乘,快速排序
排序算法
冒泡排序选择排序插入排序递归算法递归求1~100的和递归求阶乘快速排序总结冒泡排序相邻两个元素比较,大的放右边,小的放左边第一轮循环结束最大值已经找到,在数组最右边(归为算法)第二轮在剩余的元素比较找到次大值
nie2459010516
·
2023-11-01 07:25
算法
java
排序算法
如何使用python代码写一个计算器
\n\n现在我们来看两个简单的
排序算法
:冒泡排序和快速排序。1.冒泡排序(BubbleSort)冒泡排序是一种简单的
排序算法
,通过重复遍历列表并交换相邻元素来实现排序。
211统计课堂
·
2023-11-01 06:09
排序算法
算法
数据结构
python
django
scikit-learn
numpy
前端常见算法
一、常见的前端算法1、
排序算法
排序是前端算法中最常用的一类。常见的
排序算法
包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序等。
蹦跶哒哒哒
·
2023-11-01 05:04
前端
算法
C++ 经典
排序算法
原理及稳定性分析
参考:博主常用
排序算法
的时间空间复杂度:一、冒泡排序1.原理概述冒泡排序是遍历整个序列,并相邻两元素两两比较,如果反序就交换位置,最终就将最大的数放到序列末尾。
%@$
·
2023-11-01 04:02
C基础概念区分
c++
排序算法
开发语言
归并
排序算法
归并排序基本思想二路归并排序分治策略自底向上的二路归并算法自顶向下的二路归并算法归并排序应用基本思想首先将a[0…n-1]看成是n个长度为1的有序表,将相邻的k(k≥2)个有序子表成对归并,得到n/k个长度为k的有序子表,然后再将这些有序子表继续归并,得到n/k2个长度为k2的有序子表,如此反复进行,最后得到一个长度为n的有序表。若k=2,即归并在相邻的两个有序子表中进行,称为二路归并排序,若k>
苡荏
·
2023-11-01 04:01
算法
c++
容器
链表
算法
排序算法
c++实现高级
排序算法
【快速排序+归并排序】代码
快速排序【o(nlogn)】#includeusingnamespacestd;constintN=1000010;intq[N];voidquick_sort(intq[N],intl,intr){if(l>=r)return;intx=q[(l+r)/2],i=l-1,j=r+1;while(ix);if(i>n;for(inti=0;iusingnamespacestd;constintN=
小樱的少爷
·
2023-11-01 04:30
c++
排序算法
算法
c++归并
排序算法
归并排序代码#include"stdafx.h"#include"iostream"usingnamespacestd;voidmerge(int*,int,int);voidmergeSort(int*,int,int,int);int_tmain(intargc,_TCHAR*argv[]){intcount;int*a;cout>count;a=newint[count];cout>a[i]
angle_sun
·
2023-11-01 04:28
算法
归并排序
算法整理:内排序篇-二路归并排序&线性时间排序
目录二路归并排序二路归并排序的非递归实现比较
排序算法
的下界线性时间的排序方法计数排序基数排序桶排序总结参考文献二路归并排序归并排序是一种基于分治策略(参照算法整理:内排序篇-冒泡排序&快速排序及其改进)
愚者吃鱼
·
2023-11-01 04:57
算法
算法
c++
数据结构
归并排序(非递归算法)
基数
排序
桶排序
C++归并
排序算法
的应用:计算右侧小于当前元素的个数
题目给你一个整数数组nums,按要求返回一个新数组counts。数组counts有该性质:counts[i]的值是nums[i]右侧小于nums[i]的元素的数量。示例1:输入:nums=[5,2,6,1]输出:[2,1,1,0]解释:5的右侧有2个更小的元素(2和1)2的右侧仅有1个更小的元素(1)6的右侧有1个更小的元素(1)1的右侧有0个更小的元素示例2:输入:nums=[-1]输出:[0]
闻缺陷则喜何志丹
·
2023-11-01 04:23
#
算法题
c++
排序算法
算法
树状树状
归并排序
小于当前元素的个数
右侧
数据结构简答题
1.稳定的
排序算法
2.满二叉树3.完全二叉树4.前缀编码5.最优二叉树6.串的模式匹配算法的改进(KMP)7.递归,特点8.关键路径9.简述拓扑
排序算法
10.抽象数据类型11.数据类型12.算法五个特性
幸运数字-12
·
2023-11-01 02:20
数据结构
排序算法
算法
常用
排序算法
的理解
1.插入排序插入排序的思想是将一个记录插入到已经排好序的有序表中,从而形成一个新的、记录数加1的有序表。在其实现过程使用双层循环,外层循环是进行插入的次数(也可以理解为比较的轮数),内层循环是当前记录查找插入有序表的位置,并进行移动(可以理解为每一轮可能会比较的次数)排序过程示例:1,7,3,2,9①1,7,3,2,9//插入7,7>1所以不需要交换②1,3,7,2,9//插入3,31不需要交换③
gaoganghua
·
2023-11-01 00:49
排序算法
算法
数据结构
算法笔记【3】-冒泡排序法
文章目录一、原理二、代码实现三、算法特点一、原理冒泡排序是一种简单但有效的
排序算法
,它可以用于对数字进行升序排序。该算法通过多次比较相邻元素并交换位置来实现排序的目的。
>_·
2023-11-01 00:17
算法
笔记
排序算法
matlab
c语言
学习
算法笔记【4】-冒泡排序法改进
一、冒泡排序缺点冒泡排序是一种简单但效率较低的
排序算法
。冒泡排序通过比较相邻元素并交换位置来实现排序。
>_·
2023-11-01 00:17
算法
笔记
排序算法
学习
matlab
深入浅出
排序算法
之快速排序(重要)⭐⭐⭐⭐⭐
目录1.算法介绍⭐⭐⭐⭐⭐1.1图示解析2.执行流程和代码实现2.1挖坑法⭐⭐⭐⭐2.2Hoare法⭐⭐⭐⭐2.3前后指针法(了解即可)2.4非递归实现快速排序(了解即可)4.性能分析5.算法改进5.1三数选中法5.2最后几行数据采用直接插入排序1.算法介绍⭐⭐⭐⭐⭐快速排序也是“交换”类的排序,运用了分治的思想,它通过多次划分操作实现排序。以升序为例,其执行流程可以概括为:每一趟选择当前所有子序
木子斤欠木同
·
2023-11-01 00:15
Java数据结构
Java版本的算法题
排序算法
java
算法
数据结构与算法--
排序算法
:希尔排序 图解希尔排序的过程绝对让你看懂
也称缩小增量排序,是直接插入
排序算法
的一种更高效的改进版本。希尔排序是非稳定
排序算法
。该方法因DL.Shell于1959年提出而得名。
storyfull
·
2023-10-31 22:45
数据结构与算法
Python
希尔排序
Python希尔排序
数据结构与算法
排序
排序算法
:希尔排序
希尔排序是希尔(DonaldShell)于1959年提出的一种
排序算法
。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。
霸道小明
·
2023-10-31 22:14
C/C++
数据结构存储
排序算法
算法
数据结构
c语言
数据结构与算法之排序: 希尔排序 (Javascript版)
排序排序:把某个乱序的数组变成升序或降序的数组(这里用数组来做举例)希尔排序希尔排序是插入排序的一种,是针对直接插入
排序算法
的改进算法思路:把待排序的数列分为多个组间隔分组(通常为总长度的一半)然后再对每个组进行插入排序
Wang's Blog
·
2023-10-31 22:35
Data
Structure
and
Algorithms
算法
排序
希尔排序
十大
排序算法
(C++)(时间复杂度O(nlogn)篇:希尔排序、堆排序、快速排序、归并排序)
希尔排序希尔排序本质上是对插入排序的一种优化,它既有插入排序的简单,同时也解决了插入排序每次只交换相邻两个元素的缺点。插入排序过程如下:1.将数组按照一定的间隔分为多个子数组(每跳跃一定间隔取一个值组成一组),每组分别进行插入排序。2.缩小间隔进行下一轮排序。最后一轮排序时,间隔为1,也就等同于于直接使用插入排序。由于前面的排序,现在数组已经基本有序了,此时的插入排序只需进行少量的交换即可完成。举
zhongh58
·
2023-10-31 20:38
面试
排序算法
排序算法
c++
面试
python
排序算法
——快速排序时间复杂度O(nlogn)
快速排序:快速排序属于高端的
排序算法
,是不稳定的
排序算法
,最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。
Hares_
·
2023-10-31 20:07
Python
蓝桥杯算法
排序算法
算法
python
排序算法
思路及时间复杂度
1.原地
排序算法
的含义?
Leo冯
·
2023-10-31 20:07
算法
数据结构
线性代数
排序算法
之时间复杂度nlogn
但是真正封装起来的
排序算法
是优化之后的快排等时间复杂度O(nlog2n)O(nlog_2^n)O(nlog2n)。
峰峰的猫
·
2023-10-31 20:35
算法和数据结构
排序算法
快速排序
合并排序
时间复杂度为on的
排序算法
_排序—时间复杂度为O(nlogn)的两种
排序算法
上一个排序随笔中分析了三种时间复杂度为O(n2)的
排序算法
,它们适合小规模数据的排序;这次我们试着分析时间复杂为O(nlogn)的
排序算法
,它们比较适合大规模的数据排序。
Suvo Sarkar
·
2023-10-31 20:34
时间复杂度为on的排序算法
时间复杂度为on的
排序算法
_排序(二)时间复杂度为O(nlogn)的
排序算法
时间复杂度为O(nlogn)的
排序算法
(归并排序、快速排序),比时间复杂度O(n²)的
排序算法
更适合大规模数据排序。
Yaali
·
2023-10-31 20:04
时间复杂度为on的排序算法
时间复杂度为O(nlogn)的
排序算法
四种复杂度满足该值的算法1.希尔排序1.1分组1.2组内排序1.3总结2.堆排序2.1建堆2.2把堆首(最大值)和堆尾互换2.3重新构建堆2.4重复步骤2.5动画演示3.快速排序动画演示4.归并排序博客链接5.稳定性5.1稳定性的定义5.2四种算法的稳定性1.希尔排序1.1分组分组前:分组后:分组结果:1.2组内排序1.3总结希尔排序本质上是插入排序的优化,先对间隔较大的元素进行插入排序,完成宏观
甜瓜瓜哥
·
2023-10-31 20:32
数据结构
排序算法
算法
数据结构
时间复杂度O(nlogn)的
排序算法
时间复杂度O(nlogn)的
排序算法
有四种,分别是希尔排序,堆排序,快速排序和归并排序。这四个排序都非常重要。
ZEKEGU1997
·
2023-10-31 20:02
数据结构
算法
c#
数据结构
排序算法
时间复杂度 O(n) 级
排序算法
《算法导论》定理8.1:在最坏情况下,任何比较
排序算法
都需要做O(nlogn)次比较。《算法导论》推论8.2:堆排序和归并排序都是渐进最优的比较
排序算法
。
ZEKEGU1997
·
2023-10-31 20:02
数据结构
数据结构
算法
leetcode
c#
排序算法
算法面试与实战-02
排序算法
- 时间复杂度为O(nlogn)的
排序算法
(快速排序)
好了我们继续学习
排序算法
。上期我们说了时间复杂度为O(n2)的
排序算法
-以冒泡排序为例。本期我们学习时间复杂度为O(nlogn)的
排序算法
:快速排序归并排序堆排序本篇介绍快速排序的原理。
续亮~
·
2023-10-31 20:31
数据结构与算法
排序算法
(二):时间复杂度为O(nlogn)的
排序算法
一、希尔排序(实际上很少用到,了解即可)1、算法步骤将待排序数组按照一定的间隔进行排序,如此时排序间隔为gap:则从index=gap处的元素开始排序;对于index=i的元素,每次和当前index-gap处的元素进行比较,直到符合插入条件;然后继续比较index=i++的元素,直到数组末尾,完成当前间隔的排序逐渐缩小间隔进行下一轮排序最后一轮时,取间隔为1,也就相当于直接使用插入排序。但这时经过
我只是一只自动小青蛙
·
2023-10-31 20:31
#
排序算法
数据结构与算法
二叉树
数据结构
算法面试与实战-03
排序算法
- 时间复杂度为O(nlogn)的
排序算法
(堆排序)
堆排序是利用堆这种数据结构而设计的一种
排序算法
,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。今天我们就能把二叉堆的知识用上啦。
续亮~
·
2023-10-31 20:01
数据结构与算法
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
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
其他