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
nlogn
快速排序(快排)实现及原理
一、算法概述快速排序(QuickSort)是由TonyHoare在1960年提出的一种分治算法,平均时间复杂度为O(
nlogn
),最坏情况下为O(n²)。它是目前实践中最高效的通用排序算法之一。
hixiaoyang
·
2025-06-29 01:06
排序算法
算法
java
线段树懒标记详解
懒标记背景我们发现虽然我们可以做到在O(logn)O(log_{n})O(logn)的时间内做到单点修改,但我们如果将一个区间修改,我们发现时间复杂度为O(
nlogn
)O(nlog_{n})O(
nlogn
xwztdas
·
2025-06-28 22:17
线段树/平衡树
线段树
数据结构
算法
数据结构(核心知识点与高频考点)
集合、线性、树形、图状物理结构(存储结构):顺序存储、链式存储、索引存储、散列存储抽象数据类型(ADT):定义、实现与操作算法分析时间复杂度(大O表示法)常见阶:O(1)、O(logn)、O(n)、O(
nlogn
敷邬
·
2025-06-24 22:40
数据结构
数组排序之后相邻数的最大差值
[要求]时间复杂度为O(n),空间复杂度为O(n)解题思路:如果直接对数组进行sort排序在遍历查找其时间复杂度达到O(
nlogn
);桶排序1)可将整个数组分为N个区间,假设arr数组最大值为Max,最小值为
fire_guang
·
2025-06-24 13:01
c++
算法
数据结构
(LeetCode ) 169. 多数元素(哈希表 || 二分查找)
题目:169.多数元素方法一:二分法,最坏的时间复杂度0(
nlogn
),但平均0(n)即可。空间复杂度为0(1)。
岁忧
·
2025-06-22 08:44
LeetCode
LeetCode
面试经典
150
题
C++
JAVA
Go版本
leetcode
散列表
算法
java
c++
go
C语言:排序算法
一、排序算法分类1.按时间复杂度分类O(n²)算法:冒泡排序、选择排序、插入排序O(
nlogn
)算法:快速排序、归并排序、堆排序O(n)算法:计数排序、桶排序、基数排序(线性排序,有特定条件)2.按稳定性分类稳定排序
C羊驼
·
2025-06-22 08:07
C语言学习
排序算法
c语言
算法
时间复杂度和空间复杂度入门必备知识点
常见时间复杂度:常数O(1)、对数O(logn)、线性O(n)、线性对数O(
nlogn
)、平方O(n²)、指数O(2ⁿ)。计算时需找基本操作并建立T(n)表达式。空间复杂度分析额外变量和递
不良手残
·
2025-06-22 07:32
算法
算法
数据结构
java
Java实现10大经典排序算法
关键对比显示:快速排序适合通用场景(平均O(
nlogn
)),堆排序保证最坏情况性能,归并排序兼顾稳定性和效率,而计数/桶/基数排序适用于特定数据特征。最后给出选择建议:内存敏感用堆排序,需稳定性
不良手残
·
2025-06-22 07:02
算法
排序算法
算法
数据结构
leetcode23-合并K个升序链表
将每个链表的节点断开其next指针后存入数组对数组进行排序:使用JavaScript的内置sort方法对节点数组按值排序重新连接排序后的节点:遍历排序后的数组,依次连接每个节点形成新链表时间复杂度:O(
nlogn
记得早睡~
·
2025-06-19 18:42
leetcode热题100
算法小课堂
链表
数据结构
leetcode
算法
148.排序链表
在O(
nlogn
)时间复杂度和常数级空间复杂度下,对链表进行排序。
张荣华_csdn
·
2025-06-19 13:07
leetcode中国
148.排序链表
leetcode中国
算法:时间复杂度与空间复杂度计算方法
O(1)示例:讲解:2.线性时间复杂度O(n)示例1:讲解:示例2:讲解:3.平方时间复杂度O(n²)示例1:讲解:示例2:讲解:4.对数时间复杂度O(logn)示例:讲解:5.线性对数时间复杂度O(
nlogn
凭君语未可
·
2025-06-15 18:29
数据结构与算法
算法
CSP 2024 提高级第一轮解析版
()A.O(n)O(n)B.O(logn)O(logn)C.O(nlogn)O(
nlogn
)D.O(1)O(1)本题共2分第3题在C++中,以下哪个
编程李老师
·
2025-06-14 18:10
解析--信奥csp-s初赛
算法
数据结构
哈希算法
用Java实现常见排序算法详解
一、排序算法概述排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,其时间复杂度不能突破O(
nlogn
)非比较类排序:不通过比较来决定元素间的相对次序,可以突破基于比较排序的时间下界本文将重点介绍以下几种排序算法
cyc&阿灿
·
2025-06-14 16:26
排序算法
java
算法
力扣-347.前K个高频元素
提示:题目数据保证答案唯一,换句话说,数组中前k个高频元素的集合是唯一的进阶:你所设计算法的时间复杂度必须优于O(
nlogn
),其中n是数组大小。
এ᭄画画的北北
·
2025-06-12 17:04
力扣hot100Java版
leetcode
算法
双指针:牛的学术圈 I
牛的学术圈Iwww.acwing.com/problem/content/3748/计算次数为10510^5105级别,需要使用O(
nlogn
)O(
nlogn
)O(
nlogn
)的算法先将给定的NNN个数进行从大到小的排序
Zephyrtoria
·
2025-06-06 22:47
算法
java
算法
数据结构
Python实现快速排序的三种经典写法及算法解析
今天想熟悉一下python的基础写法,那就从最经典的快速排序来开始吧:1、经典分治写法(原地排序)时间复杂度:平均O(
nlogn
),最坏O(n²)空间复杂度:O(logn)递归栈空间特点:通过左右指针交换实现原地排序
宸津-代码粉碎机
·
2025-06-06 17:17
算法
数据结构
python
PTA 数据结构 第一章课后作业
它依赖于计算机的存储结构错算法和程序没有区别,在数据结构中二者是通用的错算法的优劣与算法描述语言无关,但与所用计算机有关错算法可以没有输入,但是必须有输出对抽象数据类型与计算机内部表示和实现无关对Nlog(N2)和
NlogN
鸿红红
·
2025-06-05 12:05
数据结构
快速排序简述
复杂度介于
nlogn
~n*n之间(均摊
nlogn
)。当每次取值恰好能取到中位数时,复杂度最小,即为n*logn。
跨世纪逃兵
·
2025-06-04 07:49
算法
快速排序
快排优化
day17 leetcode-hot100-33(链表12)ps:归并排序,记得补全
148.排序链表-力扣(LeetCode)1.数组法(时间O(
nlogn
)空间O(n))思路将所有节点的值放入数组,调用sort函数进行排序,然后再对节点重新赋值具体代码/***Definitionforsingly-linkedlist
苏荷水
·
2025-06-03 00:10
leetcode
链表
算法
算法 —— 十大排序算法
计数排序简要总结十大排序算法排序算法平均时间复杂度最坏时间复杂度空间复杂度稳定性适用场景冒泡排序O(n²)O(n²)O(1)稳定小数据量选择排序O(n²)O(n²)O(1)不稳定简单实现插入排序O(n²)O(n²)O(1)稳定部分有序希尔排序O(
nlogn
四谷夕雨
·
2025-05-29 03:05
排序算法
算法
数据结构
数据结构作业:利用中序遍历和后序遍历构建二叉树(RMQ转LCA)
我最初的时候是想到用map和RMQ来,以稳定O(
nlogn
)的时间构建这棵树。这样的复杂度已经是比普通的构建方法最坏情况O(n^2)(也就是单链的情况下)的复杂度要快不少的了。
weixin_34253539
·
2025-05-26 01:32
快速排序算法的C++和C语言对比
:1.从数列中挑出一个元素作为"基准"2.重新排序数列,所有比基准值小的元素放在基准前面,所有比基准值大的元素放在基准后面3.递归地对小于基准值的子数列和大于基准值的子数列进行排序平均时间复杂度为O(
nlogn
Daybreak_OvO
·
2025-05-25 17:32
排序算法
c++
c语言
【题解】CF2009G1
前言 只会做G1,但尽量做到最好,除了一开始的排序的O(
nlogn
),后续处理都是O(n)。可能会对G2和G3有一点点用处。
zyq~
·
2025-05-21 20:18
记录题目
算法
c++
【算法笔记】ACM数论基础模板
解裴蜀定理例题代码最大公约数、最小公倍数最大公约数最小公倍数质数试除法判断质数分解质因数筛质数朴素筛法(埃氏筛法)线性筛法(欧拉筛法)约数试除法求约数求约数个数一个数求约数个数求1~n所有数的约数个数O(
nlogn
寂空_
·
2025-05-16 10:09
算法笔记
算法
笔记
c++
Java 排序算法
所有排序算法时间复杂度总结排序类别算法最好时间最坏时间平均时间稳定性特点交换排序冒泡排序O(n)O(n²)O(n²)✅稳定优化后对已有序序列可提前终止快速排序O(
nlogn
)O(n²)O(
nlogn
)❌
阿乾之铭
·
2025-05-12 15:51
算法
排序算法
算法
数据结构
java 洛谷题单【算法1-2】排序
(其实看到题目给出的数据就知道排序算法效率起码要在
nlogn
级别才可能不会超时)在处理特别大的测试用例时,如果标准排序算法可能超时,可以考虑使用桶排序(BucketSort)或计数排序(CountingSort
HeShen.
·
2025-05-05 11:27
【java】洛谷题单全AC代码
算法
java
数据结构
学习方法
经验分享
排序算法
【算法基础】快速排序算法 - JAVA
它的核心思想是:选择一个基准元素(pivot)将数组分成两部分:小于基准的元素和大于基准的元素递归地对这两部分进行排序快速排序是实际应用中最常用的排序算法之一,平均情况下时间复杂度为O(
nlogn
),空间复杂度为
n33(NK)
·
2025-05-05 07:23
基础算法
排序算法
算法
数据结构
【软件设计师:复习】案例分析核心算法汇总
1.比较排序(基于元素比较)算法核心思想时间复杂度特点适用场景快速排序分治+基准分区平均O(
nlogn
),最坏O(n²)原地排序,递归实现,实际效率高通用数据,大规模随机分布归并排序分治+有序子数组合并
无心水
·
2025-05-03 16:16
算法
排序算法
数据结构
软件设计师
软考
计算机软件水平考试
案例分析
算法 | 用贪心求解背包&动态规划、回溯、分支限界法求解0-1背包
背包问题普通背包:贪心时间复杂度:O(
nlogn
)首先计算每种物品单位重量的价值Vi/Wi,然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。
我推是大富翁
·
2025-05-01 06:48
算法
算法
Acwing 算法基础课——排序
1.2快速排序算法时间复杂度:最差:O(n^2);平均:O(
nlogn
)。1.3.快速排序步骤:a.确定分界点x:q[(l+r
m0_64548487
·
2025-04-26 03:11
acwing
c++
算法
位图的详细解析以及代码实现
【腾讯】1.遍历,时间复杂度O(N)2.排序(O(
NlogN
)),利用二分查找:logN(以2为底)3.位图解决数据是否在给定的整形数据中,结果是在或者不在,刚好是两种状态,那么可以使用一个二进
真的睡不醒ovo
·
2025-04-21 13:47
java
算法
数据结构
数据结构0基础学习堆
文章目录简介公式建立堆函数解释堆排序O(
nlogn
)topk问题简介堆是一种重要的数据结构,是一种完全二叉树,(二叉树的内容后面会出),堆分为大小堆,大堆,左右结点都小于根节点,(又称子节点和父节点),
爱吃生蚝的于勒
·
2025-04-20 11:36
数据结构初阶启动!!!!!!
数据结构
学习
android
c语言
c++
算法
链表
折半插入排序算法详解与高效实现
关键优化点:利用二分查找将比较次数降至O(
nlogn
),但元
富褸陶白
·
2025-04-19 19:20
C++
算法
数据结构
c++
python
数据结构与算法:排序算法
一、常见排序算法概述排序算法可以根据时间复杂度分为O(n²)、O(
nlogn
)和O(n)三类。下面我们将介绍几种常见的排序算法。1.1时间
键盘魔术师小码哥
·
2025-04-16 06:32
排序算法
android
算法
八大排序算法的代码实现以及时间复杂度和稳定性
基数排序是稳定的选择排序、快速排序、希尔排序、堆排序是不稳定的2、时间复杂度最基础的四个算法:冒泡、选择、插入、快排中,快排的时间复杂度最小O(
nlogn
),其他都是O(n2)排序法平均时间最差情形稳定度额外空间备注冒泡
忧郁的叮当猫
·
2025-04-16 05:02
算法
算法
归并排序与快速排序的简单实现(C语言)
总结归并排序与快速排序的简单实现(C语言)一、归并排序实现核心思想采用分治策略的三步走:分解:递归将数组二分至单个元素解决:单个元素自然有序合并:有序子数组合并为完整数组关键特性稳定排序(相等元素顺序不变)时间复杂度:O(
nlogn
LiuYaoheng
·
2025-04-14 23:39
c语言
排序算法
算法
Python实现八大排序算法(二:O(
nlogn
)高级排序篇--归并、快排、堆排)
4.归并排序(MergeSort)4.1.核心思想“分而治之:将数组递归拆分为最小单元,再有序合并”4.2.关键概念递归分治:将数组不断二分直到单个元素稳定排序:合并时相等元素保持原顺序空间换时间:需要O(n)额外空间4.3.算法步骤递归将数组对半拆分当子数组长度为1时停止拆分合并两个已排序的子数组重复合并直到完整有序4.4.Python实现4.4.1.递归方法defmerge_sort_recu
dudly
·
2025-04-14 20:23
排序算法
python
算法
数组 4. 有序数组的平方
nums:List[int])->List[int]:sq_nums=[num**2fornuminnums]#squarenumssq_nums.sort()returnsq_nums时间复杂度是O(n+
nlogn
Mophead_Zarathustra
·
2025-04-14 07:52
小白的代码随想录刷题笔记
Mophead的小白刷题笔记
leetcode
代码随想录
数组
算法竞赛备赛——【图论】链式前向星
通用的三种:邻接矩阵、邻接表、边集数组有向图:十字链表无向图:多重邻接表刷题常用:邻接矩阵、链式前向星(邻接表变形)链式前向星算法题常用:邻接矩阵、二维vector模拟邻接表、链式前向星n个点m条边m>
nlogn
Aurora_wmroy
·
2025-04-11 11:01
算法竞赛备赛
算法
图论
c++
蓝桥杯
CCF-GESP 等级考试 2023年9月认证C++四级真题
A.O(n)B.O(
nlogn
)C.O(n^2)D.以上都不正确第4题下列关于C++语⾔中指针的叙述,不正确的是(
天秀信奥编程培训
·
2025-04-11 06:26
#
GESP四级真题+解析
c++
GESP四级
【力扣hot100】刷题笔记Day22
前言局势紧迫起来了呀,同学们都开始找实习了,赶紧刷完hot100开找了912.排序数组-力扣(LeetCode)快速排序(数组法):时间O(
nlogn
),空间O(n)defquick_sort(arr)
小涛44
·
2025-04-11 01:59
力扣hot100刷题笔记
leetcode
笔记
算法
职场和发展
数据结构
程序优化技术:提升性能与效率的深度探索
一、算法与数据结构优化1.1选择合适的算法时间复杂度分析:理解并比较不同算法的时间复杂度(如O(n),O(
nlogn
),O(n^2)等),选择最适合当前问题的算法。空间复杂度考量:在内存资源有限的
·
2025-03-26 12:59
数据结构和算法
算法入门——二分法
二、关键点前提条件有序性:数组必须有序(升序或降序),否则需先排序(但排序成本O(
nlogn
))。静态性:适合静态数据或低频更新的数据(高频更新建议用哈希表或树结构)。
Able Zhao 650829
·
2025-03-20 15:54
算法
数据结构
c++
蓝桥杯
力扣215.数组中的第K个最大元素
思路一:排序后取值复杂度分析:时间复杂度:排序时间为O(
nlogn
),所以时间为O
Lucky小黄人
·
2025-03-18 04:13
数据结构
算法
leetcode
快速排序
排序算法
【数据结构】数据结构,算法 概念
O(
nlogn
)大小关系?★错题&典型题1.可以用()定义一个完整的数据结构A.数据元素B.数据对象C.数据关系D.抽象数据类型2.以下属于逻辑结构的是()A
王_哈_哈 Jw
·
2025-03-15 13:54
数据结构(考研知识点)
数据结构
场景题:100G的文件里有很多id,用1G内存的机器排序,怎么做?
然后将排序后的小块合并成一个大的有序块1.分块排序(Map阶段)分块策略按1G内存容量限制,将100G文件拆分为200个500MB分块(保留内存用于排序计算和系统开销)内存排序每个分块加载至内存后:①使用快速排序(时间复杂度O(
nlogn
·
2025-03-14 12:52
归并排序(二叉树的后续遍历思想和数组的双指针技巧)
这次归并排序就只讲思路了,代码实现放到下次刷题再做首先确认一下归并排序的时间复杂度是
NlogN
的时间复杂度。
冰火同学
·
2025-03-11 20:59
力扣
算法
排序算法
数据结构
【基础5】归并排序
优缺点优点缺点✅稳定排序(相等元素顺序不变)❌额外空间(需O(n)临时数组)✅时间复杂度稳定O(
nlogn
)❌递归可能栈溢出(极大数据
流光听风语
·
2025-03-10 17:29
基础算法
排序算法
算法
算法训练(leetcode)第二十三天 | 455. 分发饼干、*376. 摆动序列、53. 最大子数组和
由于使用了两次快排,所以时间复杂度为O(
nlogn
)。时间复杂度:O(
nlogn
)O(
nlogn
)O(
nlogn
)空间复杂度:O(1)O
Star Patrick
·
2025-03-07 23:10
刷题日记
算法
leetcode
c++
std::sort 排序算法本质
现代标准库实现中,std::sort通常使用内省排序(Introsort),它是一种混合排序算法,结合了以下三种算法的优点:快速排序作为主要算法,平均情况下效率很高O(nlogn)O(n\logn)O(
nlogn
想做后端的小C
·
2025-03-06 19:15
排序算法
算法
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他