{{Translated page}}
比ひ较排序じょ(英語えいご:Comparison sort)是これ排はい序じょ算法さんぽう的てき一いち种,通つう过一个抽象的内容比较操作(通常つうじょう是ぜ“小しょう于或等とう于”操作そうさ)来らい确定两个元素げんそ中ちゅう哪个应该放ひ在ざい序列じょれつ前面ぜんめん。该算法的ほうてき唯ただ一要求就是操作数满足全ぜん序じょ关系:
对于 a ≤ b {\displaystyle a\leq b} 并且 b ≤ a {\displaystyle b\leq a} 这种情じょう况, a {\displaystyle a} 和わ b {\displaystyle b} 都みやこ有ゆう可能かのう被ひ排はい在ざい前面ぜんめん。这时输入的てき顺序就会决定最さい后きさき的てき顺序。
比ひ较排序じょ类似于将未み贴标签的砝码用よう天平てんぺい将はた按质量りょう大小だいしょう进行排はい序じょ,并且除じょ了りょう用よう天平てんぴょう测量两个砝码的てき质量之の外そと不能ふのう用よう其他方法ほうほう。
比ひ较排序じょ包括ほうかつ:
非ひ比ひ较排序じょ包括ほうかつ:
比ひ较排序じょ有ゆう很多性能せいのう上じょう的てき根本こんぽん限げん制せい。在ざい最さい差さ情況じょうきょう下か,任にん何なん一种比较排序至少需要 Ωおめが(n log n) 次つぎ比ひ较操作そうさ[1]。这是比ひ较操作そうさ所しょ获的信しん息いき有限ゆうげん所しょ导致的てき,或ある者もの说是全ぜん序じょ集しゅう的てき模糊もこ代数だいすう结构所しょ导致的てき。从这个意义上讲,归并排はい序じょ,堆うずたか排はい序じょ在ざい他た们必须比较的次数じすう上じょう是ぜ渐进最さい优的てき,虽然这忽略りゃく了りょう其他的てき操作そうさ。前面ぜんめん提ひっさげ到いた的てき三种非比较排序算法能在 O(n) 時間じかん內完成かんせい,通つう过非比ひ较操作そうさ使し他た们能够回避かいひ Ωおめが(n log n) 这个下界げかい(假かり设元素げんそ為ため常數じょうすう大小だいしょう)。
不ふ过,比ひ较排序じょ在ざい控ひかえ制せい比ひ较函数すう方面ほうめん有ゆう显著优势,因いん此比较排序じょ能のう对各种数据すえ类型进行排はい序じょ,并且可か以很好地こうち控ひかえ制せい一个序列如何被排序。例れい如,如果倒置とうち比ひ较函数すう的てき输出结果可か以让排はい序じょ结果倒置とうち。或ある者もの可か以构建けん一个按字典顺序排序的比较函数,这样排はい序じょ的てき结果就是按字典じてん顺序的てき。
比ひ较排序じょ可か以更好地こうち适应复杂顺序,例れい如浮点数すう。并且,一旦いったん比ひ较函数すう完成かんせい,任にん何なん比ひ较算法ほう都と可か以不经修改あらため地ち使用しよう;而非比ひ较排序じょ对数据すえ类型的てき要求ようきゅう更さら严格。
这种灵活性せい和わ上述じょうじゅつ比ひ较排序じょ在ざい现代计算机つくえ的てき执行效率こうりつ一起导致了比较排序被更多地应用在了大多数实际工作中。
当とう n {\displaystyle n} 是ぜ所しょ需排序じょ的てき元素げんそ个数时,比ひ较排序じょ所しょ需的比ひ较次数すう按 n log n {\displaystyle n\log n} 比例ひれい增加ぞうか。