![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.4ベストアンサー
- 回答日時:
>ところで、IOとは何でしょうか。
すいません。これは、I/O と書くべきでした。
つまり、ソートの対象が比較的大きい場合、最初からディスクアクセスを前提としたり、スワップが発生する可能性がある事を考慮する事もあると言いたかったのですが、ちょっと余計な事でした。
No.3
- 回答日時:
大抵のアルゴリズムの速度はデータの交換(移動)回数に比例します。
それぞれのアルゴリズムの平均交換回数や最大交換回数になるソート対象の状態を考慮して使い分ける事になると思います。あらゆる条件で交換回数が最小になるアルゴリズムはありません。IOが発生するならば、さらに複雑になります。例えば、1000個のランダムに並んだデータをソートさせる場合と、900個のソートされたデータに100個のランダムに並んだデータを追加してソートさせる場合では、選択するアルゴリズムが変わってくるような気がしませんか?
この回答への補足
どうもありがとうございます。1000個のランダムに並んだデータをソートさせる場合と、900個のソートされたデータに100個のランダムに並んだデータを追加してソートさせる場合、という論点と同様なことを私も想像していました。アクセスのオートナンバがところどころだけ、乱れてしまっている場合とか・・。
ところで、IOとは何でしょうか。
No.2
- 回答日時:
用途によりますので、最強は存在しないといっていいと思います。
速度とメモリの使用量だけでなく、他にも見当すべき項目はあります。
例えば、マージソートというメモリの乗らないサイズの出たを高速にソートするというものもあります。
また、速度も条件によって変化します。
例えばヒープソートはどういうデータが入力であっても安定した速度が出ますが、
クイックソートは入力のデータの並びによっては、
極端に性能がおちます。
また、データ数が極端に少ない場合は、アルゴリズムが複雑なヒープソート、クイックソートは単純なアルゴリズムのソートに速度でまけますし、
つくるのも面倒です(^^;
他にもいろいろありますが、結局は入力のデータの量や、性質、必要とする速度、手間等で
最適なソートは異なります。
ありがとうございます。とてもためになりました。
昔ヒープソートやクイックソートを習ったのですが、今では、わかりません。
要素が少なかったら、バブルソートの方がいいのですね。
今、バブルソートしかかけないので、安心しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・スマホ・電化製品) 挿入ソートとマージソートを比較すると,挿入ソートのほうが計算量は少なく,効率的なアルゴリズムである。 1 2022/11/30 17:31
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- Excel(エクセル) エクセルのソート方法について 1 2023/01/13 00:01
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- Excel(エクセル) excel マクロでグループ内でソートしたい。見出しが上手くいきません。 7 2022/05/22 08:31
- TOEFL・TOEIC・英語検定 TOEICの勉強方法について。 こんにちは。11月20日のTOEICで少なくとも50はスコアを上げた 2 2022/10/17 09:25
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) エクセルでの色付け 5 2022/10/09 18:58
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA基本構文の作り方 2列の...
-
リスト構造のソートで悩んでま...
-
数字文字列のソート方法
-
Excelですべての組合せ(重複組...
-
配列の中身を入れ替える方法を...
-
VB.NETでファイル名順にファイ...
-
10個の整数を入力して小さい順...
-
プログラミング(c言語)でのソー...
-
excel VBA リストビューの行...
-
多次元配列のソート方法
-
C# DataTableの行をソートしてD...
-
csvファイル内にてソートす...
-
ソート機能付きの成績表プログラム
-
mysqlで日本語の並び替え
-
vbでDataTableの抽出コピー
-
System.IO.Directory.GetFiles...
-
javaのソートについて。
-
列のどこをクリックしてもソー...
-
Excelセル範囲内の値のみ1行づ...
-
Fortran77で多次元配列を並び替...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
C# DataGridView のヘッダーセ...
-
なぜ?counterintuitive
-
ファイル名「1.jpg ~10.jpg~...
-
Excelですべての組合せ(重複組...
-
C# DataTableの行をソートしてD...
-
n番目に大きい数を求めるアル...
-
リスト構造のソートで悩んでま...
-
C言語・要素除去
-
10個の整数を入力して小さい順...
-
VBA基本構文の作り方 2列の...
-
あるディレクトリ内のファイル...
-
excel VBA の条件をつけての列...
-
excel VBA リストビューの行...
-
数字文字列のソート方法
-
Excel VBAで並べ替えをしたい
-
VBScriptで重複レコードを削除...
-
vbでDataTableの抽出コピー
-
構造体配列のソート
おすすめ情報