第二次算法实践作业

news/2025/11/1 11:23:22/文章来源:https://www.cnblogs.com/klj1129/p/19182029

输入:数组A,查找范围[left, right],目标排名k

划分阶段:

选择A[left]作为基准元素pivot

对A[left...right]进行划分,使得:

左边所有元素 ≤ pivot

右边所有元素 ≥ pivot

返回基准元素的最终位置pos

计算排名:

计算基准元素在当前子数组中的排名:currentRank = pos - left + 1

分治决策:

情况1:如果currentRank = k

基准元素就是第k小的元素,返回A[pos]

情况2:如果currentRank > k
第k小的元素在左半部分

在A[left...pos-1]中递归查找第k小的元素

情况3:如果currentRank < k

第k小的元素在右半部分

在A[pos+1...right]中递归查找第(k - currentRank)小的元素

最好情况时间复杂度:O(n)
发生条件:

每次划分都能将数组均匀分成两半

或者第一次划分就找到了第k小的元素
最坏情况时间复杂度:O(n²)
发生条件:

每次划分都极度不平衡

例如:数组已排序且总是选择最小/最大元素作为基准

或者第k个元素总是在最大的那个分区中
体会和思考:分治法将复杂问题划分成多个子问题,将复杂问题简单化,针对子问题可以专门优化

好文要顶 关注我 收藏该文 微信分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952664.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

致成熟的Java团队:AI浪潮中,无需换栈,只需“增量升级”

“我们有成熟的Java开发团队,但面对AI浪潮有些无从下手。” 这是在过去几个月里,我们与技术负责人交流时,听到最多、也最真实的一句话。它背后折射出的,是成千上万优秀传统开发团队在技术变革面前的集体困惑:不是…

统计表类图形的最大面积

统计表类图形的最大面积 B4273 [蓝桥杯青少年组省赛 2023] 最大的矩形纸片 - 洛谷 问题概述对于这样一个图,求它围成的矩形的最大面积 定义每一条矩形为一个图形 有这么一个思路:枚举每一个图形,以它的高作为围成矩…

一对一视频源码,提高可扩展性的常用设计模式 - 云豹科技

一对一视频源码,提高可扩展性的常用设计模式提高可扩展性的目的1、面对需求变更,方便需求更改2、减少代码修改的难度什么是好的扩展1、需求的变更,不需要重写2、代码修改不会引起大规模变动3、方便加入新模块提高可…

20251101 之所思 - 人生如梦

20251101 之所思1. 最近公司工具链的切换很多,EA切换到Catia,Core-ALM切换到CodeBeamer,还要部署AI工具BBrainy,以往的我都是一个邮件给到大家让大家自觉去部署和切换,但是很多时候没有达到自己的预期,原因是很少…

深度学习基础理论————常见评价指标以及Loss Function - Big-Yellow

评价指标 准确率/精确率/召回率Positive (预测到的正例) Negative (预测到的反例)True (预测结果为真) TP TNFalse (预测结果为假) FP FN争对正案例的计算: 1、准确率计算方式(ACC):\(Acc= \frac{TP+TN}{TP+TN+FP+…

模型量化操作————GPTQ和AWQ量化 - Big-Yellow

From:https://www.big-yellow-j.top/posts/2025/10/11/Quantized.html 模型量化技术 简单了解几个概念: 量化:是一种模型压缩的常见方法,将模型权重从高精度(如FP16或FP32)量化为低比特位(如INT8、INT4)。常见…

faust分组ui功能

faust分组ui功能hgroup("label",x)hgroup Primitive The hgroup primitive implements a horizontal group. A group contains other UI elements that can also be groups. hgroup is not a signal process…

CSP-S前集训总结

2025-10-16 战绩:100+100+65+0,总榜并列 rk1。 A.小Z爱计数 简单贪心,按时间排序。对于相邻两个限制,要么直接走去,要么有归零。判断一下就行了。 时间复杂度 \(O(n\log n)\)。 #include<bits/stdc++.h> us…

在AI技术快速实现创意的时代,挖掘用户真实需求成为关键突破点——某知名舆情分析系统需求洞察

本文通过对某知名舆情分析系统的功能特性和用户反馈进行深入分析,揭示了在AI技术日益成熟的背景下,用户对系统性能、使用体验和功能完善度的真实需求,为产品优化提供了明确方向。a.内容描述核心功能定位:该系统是一…

ICPC注意事项

VP 血的教训,下次不要当战犯了。每次都要取模 1e18+10->(long long)1e18 +10

时序数据库-InfluxDB - LLj

一、介绍 InfluxDB是一种时序数据库,时序数据库全程时间序列数据库(Time Series Database,TSDB,用于存储大量基于时间的数据,时序数据(Time Series Data)指的是一系列基于时间的数据,为处理和分析带有时间戳的…

2025年质量好的航空充气密封圈厂家最新推荐排行榜

2025年质量好的航空充气密封圈厂家最新推荐排行榜 航空充气密封圈作为飞行器、地面保障设备及特种装备的核心部件,其性能直接影响安全性与可靠性。随着国产航空产业链的升级,具备高耐候性、抗压性和长寿命的密封圈需…

2025年质量好的非开挖电力管用户好评厂家排行

2025年质量好的非开挖电力管用户好评厂家排行 非开挖电力管作为现代电力工程中的重要材料,广泛应用于城市电网改造、通信工程、农田灌溉等领域。其优势在于施工便捷、环保高效,能够减少对地面的破坏,降低施工成本。…

2025年口碑好的酚醛胶行业内口碑厂家排行榜

2025年口碑好的酚醛胶行业内口碑厂家排行榜 酚醛胶作为一种高性能粘合剂,广泛应用于木材加工、建筑、汽车、电子等领域。随着市场需求的不断增长,酚醛胶行业涌现出一批技术领先、品质卓越的企业。本文根据产品质量、…

基于Java+Springboot+Vue开发的大学生反诈视频宣传系统源码+运行步骤

项目简介该项目是基于Java+Springboot+Vue开发的反诈视频宣传系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过…

Docker 部署 openEuler 教程及常见问题解决

openEuler 作为华为主导的开源 Linux 发行版,以“多架构适配、云原生友好、长期稳定支持”为核心优势,在企业级服务器、边缘计算、云原生场景中应用广泛。通过 Docker 部署 openEuler,能将其系统优势与容器化的“环…

2025年评价高的高铁桥梁垫块厂家最新权威推荐排行榜

2025年评价高的高铁桥梁垫块厂家最新权威推荐排行榜 高铁桥梁垫块作为高铁建设中的关键部件,其质量直接关系到桥梁的安全性和耐久性。随着我国高铁网络的不断扩展,市场对高强度、高精度桥梁垫块的需求持续增长。202…

图中连通区域集合的获取

std::vector<std::vector<int>> getCompGroups(const std::vector<std::vector<int>>& adj) {int n = adj.size();std::vector<char> vis(n, 0);std::vector<std::vector<int…

2025年专业的电加热管厂家最新权威推荐排行榜

2025年专业的电加热管厂家最新权威推荐排行榜 在工业制造、家用电器、新能源等领域,电加热管作为核心热传导元件,其性能与可靠性直接影响设备寿命和能效。随着技术进步和市场需求升级,具备高精度、耐腐蚀、防爆特性…

2025年热门的碳化蒸笼用户好评厂家排行

2025年热门的碳化蒸笼用户好评厂家排行 随着健康饮食理念的普及,碳化蒸笼因其天然环保、耐高温、防霉防蛀等优势,成为现代厨房的优选。2025年,碳化蒸笼市场涌现出一批以品质和创新著称的厂家,本文基于用户真实反馈…