Py算法与数据结构

12 简单排序算法

冒泡、选择、稳定选择和插入

本节 12 题。先独立给出结论和理由,再对照解析;新增题与此前题目统一编号。涉及标签时,标签只表示记录身份。
第 01 题

问题 1

教材右向左冒泡对 [3,1,2] 完成第一轮后是什么?

第 02 题

问题 2

优化冒泡何时可以提前结束?

第 03 题

问题 3

选择排序对 n=5 的列表进行多少次键比较?

第 04 题

问题 4

选择排序对 n≥1 的列表最多多少次非自交换?

第 05 题

问题 5

交换式选择排序对 [2A,2B,1X] 的第一轮结果是什么?

第 06 题

问题 6

把最小项取出并右移中间记录的选择变体为什么稳定?

第 07 题

问题 7

插入排序 [3,1,2],处理到索引 1 后是什么?

第 08 题

问题 8

插入排序中把 > 改成 >=,稳定性会怎样?

第 09 题

问题 9

升序输入上的插入排序复杂度及移动次数是什么?

第 10 题

问题 10

逆序 n=4 的插入排序右移次数是多少?

第 11 题

问题 11

冒泡、选择、插入在教材中的稳定性分别是什么?

第 12 题

问题 12

“三者都是 O(n²),所以对近乎有序数据没有区别”对吗?