【初心者歓迎】C/C++室 Ver.83【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0511デフォルトの名無しさん
2013/03/26(火) 15:51:49.43いやそうじゃなくて線形リストで単方向だと任意の点のリストをその度に得ようとすれば
先頭から走査をしなおさなければならないので、クイックソートを使用したとしても実際の
O(N)の方がO(NlogN)よりも大きく効いてきてしまう
実際は順番、逆順、先頭、後尾、比較データの5つを知ればいいけど逆順と後尾と
比較データを得るのに時間の大半を費やしてしまう
双方向リストの場合はその点逆順に辿る事が出来るのでクイックソートに都合がよい
マージソートは元々テープのように順番にしか読み出せないデータを最速でソートする
ために考えられたアルゴリズムなので、片方向にしか走査出来なくても速度が出せる
そのトレードオフとしてメモリを食うけど
■ このスレッドは過去ログ倉庫に格納されています