归并排序与插入排序混合算法：可复现实验

文件说明
hybrid_sort_experiment.py：算法、演示、正确性校验和性能测试（仅使用 Python 标准库）。
experiment_results.json：实际运行结果；包含机器环境、全部计时样本、中位数和汇总。

运行方法（在本目录打开命令行，使用 Python 3.10 或更高版本）
python hybrid_sort_experiment.py
python hybrid_sort_experiment.py --mode demo
python hybrid_sort_experiment.py --mode check --output correctness_results.json
python hybrid_sort_experiment.py --mode benchmark

默认性能参数
n = 1000、10000、50000；k = 1、4、8、16、32、64、128。
输入类型：均匀随机整数、随机整数的升序排列、随机整数的降序排列、仅有 16 种取值。
每个配置预热 1 次，正式测量 5 次，记录中位数及每次耗时。
正式重复 seed = 20260921 + repeat（repeat 从 0 开始），同一次重复中各 k 使用完全相同输入。
每次重复随机打乱 k 的执行顺序，顺序随机种子固定为 20360921。
已排序和逆序输入由相同 seed 对应的随机输入排序得到，少量不同值使用区间 [0,15]。
输入生成、输入复制、sorted() 参考结果和校验均不计时；排序内部 O(n) 缓冲区分配计时。
k=1 与其他 k 使用同一份自底向上代码，作为标准归并排序基线。
不使用“已排好序则跳过合并”的优化；插入排序比较用 >，合并相等时取左边，保证稳定性。
合并和复制逐项循环，辅助数组仅分配一次。

正确性
包含空数组、单元素、负数和重复值、k>n、不能整除 k、非法 k、250 组随机数据；
使用 sorted() 作为排序结果参考；另使用仅比较 key 的带 tag 对象验证稳定性。
程序对所有预热和正式计时输出均进行完整校验，断言失败将停止执行。

结果解释
计时单位为毫秒。最大 n 下对四类输入等权计算时间几何均值及相对 k=1 的几何平均加速比。
最佳 k 仅表示当前机器、Python 实现、输入分布及候选范围内的实测候选，不能视为通用最优值。
运行时请关闭占用较多 CPU 的其他任务。系统调度、后台负载、缓存和电源状态会造成波动。
本程序会覆盖 --output 指定的结果文件；保留首次结果时请为复测指定其他文件名。
