You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

插入排序M趟遍历后有序元素数为何是M而非M+1?

插入排序趟数计数歧义说明

你对插入排序的过程推演完全正确,被判错的核心原因是你和出题人对「趟(pass)」的计数基准定义不一致:

  • 你采用的是国内主流的n-1趟计数规则:
    初始状态下数组的首个元素天然为有序区间(长度为1,不计入趟数统计),每完成1趟迭代就将1个未排序元素插入有序区间,因此M趟后有序元素总数为M+1,你的逆序数组推演完全符合该规则。
  • 出题人采用的是部分教材的n趟计数规则:
    初始状态不预设有序区间,将处理第1个元素的操作算作第1趟(即使该操作不需要任何交换调整),第M趟结束后恰好完成前M个元素的插入排序,因此有序元素总数为M,与题目给出的标准答案描述一致。

这类题干如果没有提前明确趟数的计数规则,本身就存在表述歧义,你的逻辑推导没有问题。

内容的提问来源于stack exchange,提问作者Ferrece

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:57:04