怎么比才公平
每个算法先把对数组的每一次「比较 / 交换 / 写入」录成操作序列,播放时按操作数 同步推进。这样谁都不吃亏,也不会因为浏览器调度产生假快慢。
同一组数据,六种算法同时起跑。每一帧按「操作数」等量推进,所以快慢不是播放速度造成的, 而是算法自己的代价。
每个算法先把对数组的每一次「比较 / 交换 / 写入」录成操作序列,播放时按操作数 同步推进。这样谁都不吃亏,也不会因为浏览器调度产生假快慢。
冒泡与插入在随机数据上写操作最少;选择排序比较次数恒定;归并与快排靠分治把 O(n²) 压到 O(n log n)——数字上差别非常明显。
录制是纯 CPU 的同步计算,播放是等量操作数推进。把「计算」和「呈现」分开, 动画就不会成为比较的一部分。