No.4ベストアンサー
- 回答日時:
>ところで、IOとは何でしょうか。
すいません。これは、I/O と書くべきでした。
つまり、ソートの対象が比較的大きい場合、最初からディスクアクセスを前提としたり、スワップが発生する可能性がある事を考慮する事もあると言いたかったのですが、ちょっと余計な事でした。
No.3
- 回答日時:
大抵のアルゴリズムの速度はデータの交換(移動)回数に比例します。
それぞれのアルゴリズムの平均交換回数や最大交換回数になるソート対象の状態を考慮して使い分ける事になると思います。あらゆる条件で交換回数が最小になるアルゴリズムはありません。IOが発生するならば、さらに複雑になります。例えば、1000個のランダムに並んだデータをソートさせる場合と、900個のソートされたデータに100個のランダムに並んだデータを追加してソートさせる場合では、選択するアルゴリズムが変わってくるような気がしませんか?
この回答への補足
どうもありがとうございます。1000個のランダムに並んだデータをソートさせる場合と、900個のソートされたデータに100個のランダムに並んだデータを追加してソートさせる場合、という論点と同様なことを私も想像していました。アクセスのオートナンバがところどころだけ、乱れてしまっている場合とか・・。
ところで、IOとは何でしょうか。
No.2
- 回答日時:
用途によりますので、最強は存在しないといっていいと思います。
速度とメモリの使用量だけでなく、他にも見当すべき項目はあります。
例えば、マージソートというメモリの乗らないサイズの出たを高速にソートするというものもあります。
また、速度も条件によって変化します。
例えばヒープソートはどういうデータが入力であっても安定した速度が出ますが、
クイックソートは入力のデータの並びによっては、
極端に性能がおちます。
また、データ数が極端に少ない場合は、アルゴリズムが複雑なヒープソート、クイックソートは単純なアルゴリズムのソートに速度でまけますし、
つくるのも面倒です(^^;
他にもいろいろありますが、結局は入力のデータの量や、性質、必要とする速度、手間等で
最適なソートは異なります。
ありがとうございます。とてもためになりました。
昔ヒープソートやクイックソートを習ったのですが、今では、わかりません。
要素が少なかったら、バブルソートの方がいいのですね。
今、バブルソートしかかけないので、安心しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
DataGridViewソート時に先頭行...
-
C言語でファイルの中身をソー...
-
C言語・要素除去
-
VBA基本構文の作り方 2列の...
-
C# DataTableの行をソートしてD...
-
C# DataGridView のヘッダーセ...
-
多次元配列のソート方法
-
あるディレクトリ内のファイル...
-
n番目に大きい数を求めるアル...
-
csvファイル内にてソートす...
-
DataGridViewの昇順降順。
-
重複番号出力方法について
-
excel VBA リストビューの行...
-
EXCEL VBAのソートについて
-
2次元配列を複数項目でソートし...
-
vbでDataTableの抽出コピー
-
VBScriptで重複レコードを削除...
-
それぞれのソート方法の特徴の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
C# DataGridView のヘッダーセ...
-
ファイル名「1.jpg ~10.jpg~...
-
構造体配列のソート
-
C# DataTableの行をソートしてD...
-
C言語・要素除去
-
Excelですべての組合せ(重複組...
-
あるディレクトリ内のファイル...
-
DataGridViewの昇順降順。
-
2次元配列を複数項目でソートし...
-
DataGridViewの複数列を連動し...
-
文字列をソートする方法
-
VBA基本構文の作り方 2列の...
-
n番目に大きい数を求めるアル...
-
DataGridViewでのソート制御
-
DataGridViewソート時に先頭行...
-
excel VBA リストビューの行...
-
Excel2010 /VBA ユーザー設定リ...
-
数字文字列のソート方法
おすすめ情報