ソートのアルゴリズム
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGソートのアルゴリズムでバブルソートよりも高速なソートって
ありましたっけ?どなたか教えてください。
宜しくお願いします。
0002デフォルトの名無しさん
NGNGクイックソートの比較関数に元の順序も比較対象にすれば?
はい終わり。
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005sage
NGNG1の故郷に向かった。まだ日本にこんなところがあったのか…
思わず口に出てしまった言葉を同行した友人に失礼だと咎められた。
小人が住むような小さな家、ツギハギだらけの服を着る農夫たち、そして
彼らは余所者で身なりのいい我々を監視する様に見詰めている。
高度成長だの、神武景気だの、ワールドカップだので浮かれていた我々は改めて
農村の現状を噛み締めていた。ボロ屑のような家に居たのは老いた母親一人
我々を見るなり全てを悟ったのか、涙ながらに息子が申し訳ありませんと
我々に何度も土下座して詫びた。我々はこの時初めて1を許そうと思った。
誰が悪い訳ではない、農村の貧しさが全て悪かったのだ。我々は1の母親から
買った干し柿を手に、打ちひしがれながら帰路についた
0006デフォルトの名無しさん
NGNG2〜5は、ソートの安定・非安定について勉強すること。
00082
NGNGクイックソートは非安定だ。
けど、ソート以前の順序を、比較関数に適応することことで
結果的に安定になるの。
0009デフォルトの名無しさん
NGNG「元の順序も比較対象にする」と
「2つの値を比較した時に同じ」ではなくなってしまいます
かってに条件を変更しないでください。
0010デフォルトの名無しさん
NGNGqsortとかのライブラリで、交換をどう制御するんだ?
馬鹿?
0011デフォルトの名無しさん
NGNGだめだこいつら...
0012>11
NGNGダメだけ言って逃げるなよ
0013デフォルトの名無しさん
NGNG0014名無しさん@お腹いっぱい。
NGNGホント馬鹿だな(藁
0015デフォルトの名無しさん
NGNG結局答えられないだけだろ(ワラ
「馬鹿」しか書けんならさっさと逃げて消えろや
0016デフォルトの名無しさん
NGNG二つの値が同じだった時だけ
順序を比較するんでしょ? >>12=13
説明しろとかいう前に自分の頭で考えたら?
あ、考えてもわからなかったんだー(藁
0017デフォルトの名無しさん
NGNGふぁあーあ、消防相手にしてたのか。もう寝るわ。
んじゃ、2の反省文は宿題にしておく。今日の朝までに提出する事。いいな?>2
0018デフォルトの名無しさん
NGNGどうせ想像だけで検証なんかしてないんだろ。
そんな単純な考え方じゃだめなんだって!
もっと良く考えてみ?
0019デフォルトの名無しさん
NGNG一晩寝て、頭スッキリさせてから、出直しておいで。
00201=2
NGNG========終了========
0021デフォルトの名無しさん
NGNG全然中傷じゃないって。2も理解してない様だし。
0022デフォルトの名無しさん
NGNG多分、理解していないのはあなただけです。
0023だから1=2だって
NGNG0024デフォルトの名無しさん
NGNGだったら、マージソートでもクイックソートでも良いじゃねーか。
0025デフォルトの名無しさん
NGNGまだわかってないのか?
アホ相手は疲れるね。
同じ値の比較だけならば、交換は行われないので、入れ替わる事はない。が、
比較で異なった時に行われる要素の交換で、同じ値が入れ替わらない保障が無いのが「安定しないソート」。
そもそも同じ値かどうかはソートが完了するまで判明しないので2の考えには無理がある。
反省文は朝までに各自提出する事!
0026デフォルトの名無しさん
NGNGだめだこいつら...
0027名無しさん@お腹いっぱい。
NGNGクイックソートした後にソート前の順番(インデックスを参照して)でバブルソートするのが一番効率的だ。
同じ文字の確立なんて低いだろ?
マージなんか使うな低脳!
お前等全員リストラだ!!
0028>26
NGNG反応してはいけません
0029sage
NGNGニッポンゴ ムツカシーネ
0030デフォルトの名無しさん
NGNG勝手に決めるな
0031名無しさん@お腹いっぱい。
NGNGマジ馬鹿発見!
煽ったつもりだろうが自分の低脳振りをアピールしただけだぞ。
真性厨房だろ(藁
0032デフォルトの名無しさん
NGNG君もういいよ。お布団へお入り。
003324
NGNG理由書けよ。
0034このスレは
NGNG0035デフォルトの名無しさん
NGNGVB vs Delphiと余りかわらん。
0036デフォルトの名無しさん
NGNGstable sortでなくても順序付けにindexを含めれば同等に処理できるという人間と
バカなやり取りをしていることが分かってて煽ってる人間と、
なにが間違ってるのか分からないもののとりあえず煽ってる人間が、
入り乱れております。
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039>37
NGNG0040名無しさん@お腹いっぱい。
NGNG結局ソートなんてデータ次第なんだよ。
データ(ソートに必要な回数)によって最適なアルゴリズムは変わるだろ?
もう終わりにしようぜ!
お前等全員ミレニアムの年末に彼女がいなくて一人で淋しくインターネットしてる3流私立大学のメガネでぶのコンピュータオタクなんだろ。
こんなお互いを中傷し合う事で淋しさを紛らわすなんて子ども地味たこと辞めようぜ。
さっさと回線切ってAVでも借りてきて一発抜いて寝ろよ!
明日はきっと今日よりも最悪な日。
その次の日も、またその次の日も・・・
そうやって1人でどんどん不幸になっていって最後にはバットを振り回して怪我人出して逮捕されてムショでケツ掘られてアンアンの毎日だ。
お前等の人生最高だな。
超かっこいいよ!
0041森総理
NGNG0042デフォルトの名無しさん
NGNG良く言った
あんたはエライ
0043ダブルフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGねよねよ。
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047?f?t?H???g???????
NGNG25 のいってることがよくわからないんですけど、
誰か説明してくれません?
0048デフォルトの名無しさん
NGNG0049???????????????B
NGNGそもそも、こういうソートってたとえばどういうときに必要なの?
0050デフォルトの名無しさん
NGNGとりあえず1は頭の良い奴ではないので細かなツッコミはよそう。
いじめ(悪い)
005149
NGNG>ソート済みのリスト複数を結合とか?
その前提として、要素全体が評価対象じゃなくて、
要素の一部が評価対象である、と言ってる?
たとえば Yamada Taro,Japan,24,Male てな
個人データ群を年齢をキーとしてソートとか?
0052デフォルトの名無しさん
NGNG25の言ってる「同じ値」ってどういう意味なのかが
わかりません。
0053デフォルトの名無しさん
NGNGbasicでswap命令が消えたのはいつだったか
あの時、私はその理由がわからずおおいに戸惑ったものだ。
あれはまさしく退化ではないか…<笑>
00542=8
NGNGよくよく考えたら、無理ですね。
鬱だ、21世紀を目前に回線切って首つります。
板橋あたりで自殺のニュースがあったらそれは私です。
ちなみに2,8以外は自分ではありません。
みなさんよい新世紀を。
0055デフォルトの名無しさん
NGNGもっとソートについて熱く語ってくれよ。age
0056>55
NGNG0057名無しさん@お腹いっぱい。
NGNGhttp://www.programmingpearls.com/
http://www.programmingpearls.com/code.html
つーか、勉強不足なだけか・・・。
0058名前ついてますか?
NGNGでもすでにいっぱいキューにたまってるからなあ...
#amazon.co.jpが送料無料のうちに英語版買うかな..
0059名無しさん@LV5
NGNG0060デフォルトの名無しさん
NGNG0061考えました。これはいけるかもしれません。
NGNG文字列を並べる
天才チンパンジーに見せて並べ替えをさせる
値を返す
}
0062考えました。これもいけるかもしれません。
NGNG文字列を水槽に落とす //浮力の小さい順に沈んでいく
出来た層を返す
}
0063考えました。これもいけるかもしれません。
NGNG文字列にマラソンをさせる //いつのまにか足の速い順になっている
順位順に校舎に戻ってよし
}
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNGつーすごい本なかったっけ?「クイックソート」のクの字もなかったやつ。
0066デフォルトの名無しさん
NGNGqsort関数使えや
理解できないなら勉強せいや
0067デフォルトの名無しさん
NGNG途中で近道してた奴が3人もいました。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNGクイックソートって「あるデータだと」
かなり遅いアルゴリズムって知ってる?
007068
NGNG当然知ってるよ
0071デフォルトの名無しさん
NGNG文字 a = 真中頃にある文字を見つける(s);
do{
int n1=先頭からaより大きな文字を探させる
int n2=後ろからaより小さなな文字を探させる
s->交換(n1,n2);
}while(先頭からの検索点<=後ろからの検索点)
n=文字aの位置
クイックソート(文字列の先頭からnまで);
クイックソート(文字列のn番目から最後まで);
}
0072デフォルトの名無しさん
NGNGあ。
安定な整列を行なう関数をわざわざ自作していたよ…。
鬱出汁膿
0073デフォルトの名無しさん
NGNG0074SAGE
NGNGそりゃビンソートとか基数ソートと同じで O( n ) だから、
使える状況なら速いだろうけど。
0075デフォルトの名無しさん
NGNGだから、>>72にあるようにクイックソートだと前からと後ろから
検索して交換という手順があるから、 元の順番を優先させるには
元の順番のフィールドをデータ構造に含んでいなければいけない。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG元の順番を使って比較するように
いじれば終わり
それか
ビンソートなりマージソートでもいいよ
0078353
NGNG選択した境界値が複数存在した場合どうするんだよ。
0079デフォルトの名無しさん
NGNG配列の時はいいけどリンクリストのときはどうするよ
データの要素に元の位置の情報がなきゃお手上げでしょ。
配列の場合は「インデックス」っていう暗黙の情報を
比較条件に使うことができるってだけじゃん
0080デフォルトの名無しさん
NGNG各々のポインタをつたってって位置情報を割り出し
元の順序を比較条件に追加だよ
0081デフォルトの名無しさん
NGNGソートするってことは並んでる順番をかえることだよ
元の並んでる順番の情報がないわけないじゃん
008279
NGNG~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>81
>>データの要素に元の位置の情報がなきゃお手上げでしょ。
>ソートするってことは並んでる順番をかえることだよ
>元の並んでる順番の情報がないわけないじゃん
ごめん、「お手上げ」っていうのは撤回する。
ただリストの場合その「順番の情報」を取得するのにえらくコストが
かかるって言いたかったのよ。
そんなコストかけるくらいならqsortなんか使わずに他のO(NlogN)の
安定なアルゴリズム使った方がマシって思ったのさ。
確かにやりようによってはリストでも安定なqsortできるかもしれないけど
変な小細工して遅くなるようなら意味ないし
0083デフォルトの名無しさん
NGNGなぜマージはいけないの?
0084>79
NGNG安定で最速なソートとなると
考えてソート法を選ぶしかないな
あんたなかなかやるな
プログラム系のホームページを持ってたら教えて下さいな
0085デフォルトの名無しさん
NGNG何も考えずにqsortでいいんじゃないか?
それはまずいの?
0086>85
NGNG0088SAGE
NGNGわざわざ安定なソートになるように変形してあるqsortの実装は
見たことないぞ、俺。組み込みがどうとかは知らんけど。
0089デフォルトの名無しさん
NGNGstable sortの意味が分かって書いてるのか?
最悪なケースをなるべく生み出さないようなpivotの選出法とか、
数が少ないときはbubble sortに切り替えるだとかいったテクニックは
色々使われていると想定できるが、それはソートが「安定」かどうか
とは全く次元の違う話だぜ。
0090デフォルトの名無しさん
NGNG009183
NGNGあと、
pegionhole sortとビンソートってのもわからん。
ダメだな、俺。
[分布数え|radix|マージ|挿入]ソートしか使わないもん。
009227はバカじゃんか
NGNG同じ文字の確立なんて低いだろ?
一番効率的とゆっときながらバブルソートを使うのが理解不能
0094デフォルトの名無しさん
NGNGCの標準ライブラリのqsort仕様だと元の順序は保証されてないな
でも扱うのは配列だから比較のときに位置情報は使えるな
0095名無しさん@お腹いっぱい。
NGNGソート前の順番を保持してqsortかけるなら、それもソートキーに
含めてqsortすれば安定するやんけ。
なんでわざわざ最後にバブルソートかけるんだ?
恥ずかしい奴。
009785
NGNGだから、そういう工夫された方法を使ったqsortを使ってれば、
実用上問題じゃないんじゃないの?
しかも、C言語とかにはじめからついてる関数はそうだから
何も問題ないんじゃないの?ってこと。
自分で変なqsortを書かない限りね。
間違ってる?
0098デフォルトの名無しさん
NGNG>qsort関数の条件判定の関数に値が等しければ
>元の順番を使って比較するように
>いじれば終わり
元の順番を使うって、キーの配列まるまるコピーしておいとくの??
再帰の底で全部が同じキーの値になった場合に、その部分だけのソート
用のキーとして、元の並びの添え字を保持しておき、それを使うって意味
だよね。キーがほとんど重なってないときはメモリがもったいないよ・・
0099デフォルトの名無しさん
NGNGO(nlogn)でデータの選り好みをしないし、qsortなんかより
よっぽどいいと思うんだが?
記憶領域なんて256もつんでおけばたいてい問題ないだろ?
0100デフォルトの名無しさん
NGNG一般的にqsortって言ってるわけではないはずなのに、
みんなqsortと省略するのはなんかねぇ・・
0101デフォルトの名無しさん
NGNG>記憶領域なんて256
学生なんですが、定数なんてソースに埋めるもんなんですか??
■ このスレッドは過去ログ倉庫に格納されています