尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

第二章实践作业

第二章实践作业
📅 发布时间:2026/6/20 6:30:20

第二章实践作业

分治法找第 k 小的数:基础理解与思考
一、用分治法找第 k 小的数
找第 k 小的数,用分治法来解决其实思路还挺直观的。大概可以分成这几步:
先选一个 “基准数”,随便从数组里挑一个就行,比如选第一个或者最后一个
把数组分成两部分:比基准数小的放左边,比基准数大的放右边(和快排的分区很像)
看看基准数在数组里的位置:
如果它的位置正好是 k-1(数组从 0 开始数),那它就是第 k 小的数
如果位置比 k-1 小,说明第 k 小的数在右边,就去右边找
如果位置比 k-1 大,说明第 k 小的数在左边,就去左边找
重复上面的步骤,直到找到目标
伪代码
function 找第k小(数组, 左边界, 右边界, k):
if 左边界 == 右边界:
return 数组[左边界]
基准位置 = 分区(数组, 左边界, 右边界) # 分区后返回基准数的位置
if 基准位置 == k-1:
return 数组[基准位置]
elif 基准位置 > k-1:
return 找第k小(数组, 左边界, 基准位置-1, k)
else:
return 找第k小(数组, 基准位置+1, 右边界, k)
二、时间复杂度分析
这个算法的时间复杂度和选的基准数关系很大:
最好情况:每次都能选到中间大小的数当基准,这样每次都能把数组分成差不多两半。这种情况下时间复杂度是 O (n),因为每次处理的数组长度是n,n/2、n/4。。加起来差不多是2n,所以是线性时间。
最坏情况:运气不太好,每次选的基准都是最大或最小的数。比如要找最小的数,却每次都选最大的当基准,这样每次只能排除一个元素,时间复杂度就变成了 O (n²),和最差情况的快排一样。
不过实际用的时候,我们可以随机选基准数,这样出现最坏情况的概率就很低啦。
三、对分治法的体会
学了分治法之后,最大的感受就是 “化繁为简”。它的核心思路就是把一个大问题拆成几个小问题,小问题解决了,大问题也就解决了。
就像找第 k 小的数,本来要在整个数组里找,用分治法一拆,每次只需要处理一半的元素,问题规模越来越小,解决起来就轻松多了。
分治法给我的另一个启发是 “递归思维”,很多分治算法都用递归来实现,因为子问题和原问题的结构是相似的。不过拆的时候也要注意,子问题不能太复杂,而且最好能独立解决,不然反而会更麻烦。
总的来说,分治法就像我们解决难题时,把大任务分解成小步骤一样,是一种很实用的解题思路

相关新闻

  • java 基础语法一
  • (补11月)代码大全阅读笔记3
  • 小组作业1

最新新闻

  • 2026 年 6 月最新腕表干货!万国全大陆官方正规维修门店地址完整公示,全国统一售后热线同步全新上线 - 万国中国服务中心
  • 天津名包回收机构实地测评:5家店报价服务全方位对比,看完再卖! - 讯息早知道
  • 2026年6月最新劳力士中国官方售后热线服务电话客户地址网点 - 劳力士服务中心
  • 2026年大平层装修深度测评:如何为你的改善型住宅匹配最佳方案? - 速递信息
  • ARM Cortex-M4微控制器架构解析:从内核到低功耗设计实战
  • 肇庆黄金回收实测六家靠谱老店盘点 - 余生黄金回收

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号