• ベストアンサー

それぞれのソート方法の特徴の違いについて

noname#30727の回答

noname#30727
noname#30727
回答No.3

大抵のアルゴリズムの速度はデータの交換(移動)回数に比例します。それぞれのアルゴリズムの平均交換回数や最大交換回数になるソート対象の状態を考慮して使い分ける事になると思います。あらゆる条件で交換回数が最小になるアルゴリズムはありません。IOが発生するならば、さらに複雑になります。 例えば、1000個のランダムに並んだデータをソートさせる場合と、900個のソートされたデータに100個のランダムに並んだデータを追加してソートさせる場合では、選択するアルゴリズムが変わってくるような気がしませんか?

accessdb_user
質問者

補足

どうもありがとうございます。1000個のランダムに並んだデータをソートさせる場合と、900個のソートされたデータに100個のランダムに並んだデータを追加してソートさせる場合、という論点と同様なことを私も想像していました。アクセスのオートナンバがところどころだけ、乱れてしまっている場合とか・・。 ところで、IOとは何でしょうか。

関連するQ&A

  • クイックソートとヒープソートの違いは

    クイックソートとヒープソートの違いは何でしょうか?教えて下さい。

  • バブルソートとクイックソート

    まだソートについて勉強し始めたばかりですが バブルソートは対象の総数が増えるとそれに伴い比較回数は増加するのに対し クイックソートはそれほど増加しないのはなぜでしょうか?? 検索してみてもプログラムが書いてあってよくわからないので... 根本的なところなのでしょうがどなたか教えてください!

  • 文字列をソートする方法

    数値をソートする方法にはバブルソートやクイックソートなどがあり アルゴリズムは分かるのですが 文字列を五十音順にソートしたい場合にはどのようにしたら良いですか? 検索をかけてみたのですが、大抵プログラミング言語に備わったsortの方法が紹介されており 自分で処理を行う方法については書かれていません。 ExcelのSort機能を使わない方法で教えてください。

  • 挿入ソートとバブルソート

    挿入ソートとバブルソートについて教えてください。どのようなアルゴリズムでソートされるのでしょうか?

  • クイックソートって??

    どこに載せればいいのかわからなかったので ここに載せてみました。 クイックソートってなんですか?? 簡単なアルゴリズムで答えてください!?   (自分も何言っているのかわらない??) 簡単に言えばクイックソートってナに??  です。 よろしくお願いします。 わかるように簡単でね!!

  • クイックソートのアルゴリズムについて

    (1)クイックソートが使われるのは実際にはどのような場面なのでしょうか?メインメモリで使われていると聞きましたが‥ (2)クイックソートが一番早いと聞きましたがコームソートやバブルソートなどは使われないのでしょうか? (3)マージソートはどのような局面で使われるのでしょうか?

  • アルゴリズムの問題なのですが、マージソートとクイックソートについて教え

    アルゴリズムの問題なのですが、マージソートとクイックソートについて教えてください。 数列の(21 99 38 22 15 6)をマージソートで並び変えて、クイックソートでも並び変えたいのです。 マージソートで並び変えた手順は (21 99 38 22 15 6) (下矢印) (21 99 38)(22 15 6) (下矢印) (21 99)(38)(22 15)(6) (下矢印) (21)(99)(38)(22)(15)(6) (下矢印) (21 99)(38)(15 22)(6) (下矢印) (21 38 99)(6 15 22) (下矢印) (6 15 21 22 38 99) となりました。 この時、分割回数と統合回数がともに5なのですが、どう見たら5回なのでしょうか。 分割回数は3で統合回数も3ではないのでしょうか? クイックソートの方なのですが、 回答は (21 99 38 22 15 6) (下矢印) (15 6)(21)(99 38 22) (下矢印) (6)(15)(21)(22 38)(99) (15と38にした場合) (下矢印) (6)(15)(21)(22)(38)(99) となっていて、 最も効率のよいピボットを選択した場合分割回数は3となっています。 私がやってみたところ (21 99 38 22 15 6) (下矢印) (15 6)(21)(99 38 22) (下矢印) (6)(15)(21)(22)(38)(99)  (15と38を選んだ) これではいけないのでしょうか。 長くなりましたが、よろしくお願いします。

  • クイックソート

    クイックソートのアルゴリズムの問題で 9 1 8 5 3 4 2 6 7 と上記のようなデータ列を昇順に整列するときに 9 1 8 5 3 4 2 6 7 6 1 8 5 3 4 2 9 7 6 1 2 5 3 4 8 9 7 とここで詰まってしまうんですけどどうしたら昇順に導けますか?

  • クイックソート

    N個のデータを降順に並び替えるプログラムをクイックソートで書きたいのですがよく分かりません。アルゴリズムの部分をどなたか教えてください。できれば詳しい説明もお願いします。

  • ソート(データの並べ替え)の逆概念はシャッフル?

    ソートは、データの集合を一定の規則に従って並べること。 バブルソート、シェーカーソート、コムソート、選択ソート、 挿入ソート、シェルソート、ヒープソート、マージソート、 クイックソート、バケットソート、基数ソート、 逆写像ソート、ボゴソート、奇偶転置ソート、シェアソート などがあるそうです。 ではその逆概念の、データの集合を一定の規則に従ってバラバラにすることってなんといいますか? トランプ(カードマジック)でよく見かけるシャッフルのことでしょうか? ディールシャッフル、ヒンズーシャッフル、オーバーハンドシャッフル、リフルシャッフル、ファローシャッフル などがあるそうです。 それらを数学的に扱ったものってありますか?