选择 排序 算法 的 时候, 需要 考虑 以下 几点。
- 数据 的 规模;
- 数据 的 类型;
- 数据 已有 的 顺序。
一般来说, 当 数据 规模 较小 时, 应选 择 直接 插入 排序 或 冒泡 排序。 任何 排序 算法 在 数据 量小 时 基本 体现 不出 差距。
考虑 数据 的 类型, 比如 全部 是 正 整数 时, 应该 考虑 使用 桶 排序。
考虑 数据 已有 顺序, 快速 排序 是 一种 不稳 定的 排序( 当然可以 改进)。 对于 大部分 排好 的 数据, 快速 排序 会 浪费 大量 不必 要的 步骤。 我们 说 快速 排序 好, 是指 大量 随机数 据 下, 使用 快速 排序 的 效果 最理想, 而 不是 指 所有 情况。