整列(日语版)

  1. 整列(ソート)

複数のデータを小さい順(昇順)または大きい順(降順)に並べ替える処理である。

  • クイックソート*安定ソートではない

基準値(ピボット)を決めて、それより大きな値を集めた区分と小さな値を集めた区分とに分類する。次にそれぞれの区分の中で同じ処理を繰り返す方法である。

再帰を使ってプログラミングすることになる。

基準値を中央値、つまり大きな区分の値の数と小さい区分の値の数がほぼ同じ数になるような値にできれば

計算量

O(logn)

最悪の場合、例えば最小値を基準値にしてしまうような場合

計算量

O(n2)

  • シェルソート*安定ソートではない

ある間隔だけ離れたデータを取り出して整列し、その間隔を徐々に狭くしていく方法である。例えば、最初は七個おきのデータを、次に三個おきのデータを、最後に全部のデータで整列する。挿入法の改良版といえる。計算量は何個おきに操作するかによっても違ってくるのですが、平均して

計算量

O(n125)

  • ヒープソート*安定ソートである

木構造のヒープは全てのノードのうち最大(または最小)のものが根にきる。それを取り出し、残りのノードでヒープの再構成をする。そしてまた根を取り出す。これを繰り返す。選択法の改良版といえる。

計算量

O(nlogn)

  • マージソート*安定ソートである

整列済みの二つの配列を、一つの配列に合併(マージ)する処理を繰り返す方法である。

計算量

O(nlogn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值