このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
データ構造,アルゴリズム,デザインパターン総合スレ 2
http://echo.2ch.net/test/read.cgi/tech/1362301811/
【関連スレ】
3Dアルゴリズム全般
http://toro.2ch.net/test/read.cgi/tech/1164171086/
<集大成>アルゴリズム大辞典
http://toro.2ch.net/test/read.cgi/tech/1086272325/
アルゴリズム総合スレ in ム板
http://toro.2ch.net/test/read.cgi/tech/1217773415/
アルゴリズムとデータ構造 - Kaneko Lab.
ttp://www.kkaneko.com/adp/algo/index.html
アルゴリズムとデータ構造 - ソースコード探険隊
ttp://www.codereading.com/algo_and_ds/
各種アルゴリズムの C++ による実装 - Spaghetti Source
ttp://www.prefield.com/algorithm/
アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP
ttp://vipprog.net/wiki/algo_and_data_const.html
探検
データ構造,アルゴリズム,デザインパターン総合スレ 3©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/06/19(日) 14:47:29.63ID:5KvSKdL/
472デフォルトの名無しさん
2017/07/03(月) 08:55:27.46ID:b174092u なんか他の本を調べてみても、
>>471
のような素朴な証明法が載っていませんね。
ソートするアルゴリズムが存在することを示せ
という問題があったとして、答えとして、バブルソートをあげれば十分であるにもかかわらず、
ヒープソートをあげるようなもんですね。
>>471
のような素朴な証明法が載っていませんね。
ソートするアルゴリズムが存在することを示せ
という問題があったとして、答えとして、バブルソートをあげれば十分であるにもかかわらず、
ヒープソートをあげるようなもんですね。
473デフォルトの名無しさん
2017/07/03(月) 12:01:19.36ID:2KgtUC+G >471
頂点a b c d eがあって、
辺が、
a b
a c
a d のとき、
Mとして
a bを選べば、増加パスはないけど、
cとdはFreeな頂点になるのでは?
頂点a b c d eがあって、
辺が、
a b
a c
a d のとき、
Mとして
a bを選べば、増加パスはないけど、
cとdはFreeな頂点になるのでは?
475デフォルトの名無しさん
2017/07/03(月) 22:09:21.73ID:d7TtC2S/476デフォルトの名無しさん
2017/07/03(月) 23:57:03.23ID:kWtGcdOg477デフォルトの名無しさん
2017/07/06(木) 14:52:18.01ID:MPcf+VnS 松坂君はおつむ弱いなー
478デフォルトの名無しさん
2017/07/07(金) 10:19:21.25ID:LuN3QDVY 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)を読んでいます。
ネットワークフローについてですが、
ソースから流出する総フローが、
シンクに流入する総フローに
等しいということを自明のこととして、
証明していません。
これはOKなのでしょうか?
ネットワークフローについてですが、
ソースから流出する総フローが、
シンクに流入する総フローに
等しいということを自明のこととして、
証明していません。
これはOKなのでしょうか?
479デフォルトの名無しさん
2017/07/07(金) 10:33:49.72ID:Hkhwo5qO おつむが弱いアスペ参上
480デフォルトの名無しさん
2017/07/07(金) 11:03:27.05ID:LuN3QDVY481デフォルトの名無しさん
2017/07/07(金) 11:04:16.11ID:LuN3QDVY 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)
は、計算量の評価の説明がひどすぎます。
ほとんど結果しか書いていません。
は、計算量の評価の説明がひどすぎます。
ほとんど結果しか書いていません。
482デフォルトの名無しさん
2017/07/07(金) 11:53:23.95ID:LuN3QDVY >>478
少し後のところで、
ソースから流出する総フローが、
シンクに流入する総フローに
等しいという結果を特別な場合として
含むような結果を示していました。
ソースから流出する総フローが、
シンクに流入する総フローに
等しいということが自明なことならば、
そのより一般化された結果も自明です。
著者の態度は矛盾していますね。
少し後のところで、
ソースから流出する総フローが、
シンクに流入する総フローに
等しいという結果を特別な場合として
含むような結果を示していました。
ソースから流出する総フローが、
シンクに流入する総フローに
等しいということが自明なことならば、
そのより一般化された結果も自明です。
著者の態度は矛盾していますね。
483デフォルトの名無しさん
2017/07/07(金) 13:13:44.59ID:G2hd19q1 僕の肛門から流出するソースの総フローがシンクに流入します
484デフォルトの名無しさん
2017/07/07(金) 17:37:48.39ID:LuN3QDVY 今、ウィルソンのグラフ理論の本を見てみたのですが、内容がスカスカですね。
アルゴリズム的なグラフ理論の本のほうが分かりやすいし、面白いですね。
アルゴリズム的なグラフ理論の本のほうが分かりやすいし、面白いですね。
485デフォルトの名無しさん
2017/07/07(金) 19:30:12.19ID:LchmZiK1 「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
カードゲームを自作する1 【自宅でカード印刷】
http://tanishi.org/?p=801
100円ショップでボードゲームを自作しよう
https://sites.google.com/site/jun1sboardgames/blog/makeyourbg
ノーアイデアでボードゲームを作ろう第1回「100円ショップで物を買う」
http://boardgamelove.com/archives/boardgame-make-1/
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
自作ゲーム即売会「ゲームマーケット」に1万人超
http://www.nikkansports.com/general/nikkan/news/1750500.html
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
カードゲームを自作する1 【自宅でカード印刷】
http://tanishi.org/?p=801
100円ショップでボードゲームを自作しよう
https://sites.google.com/site/jun1sboardgames/blog/makeyourbg
ノーアイデアでボードゲームを作ろう第1回「100円ショップで物を買う」
http://boardgamelove.com/archives/boardgame-make-1/
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
自作ゲーム即売会「ゲームマーケット」に1万人超
http://www.nikkansports.com/general/nikkan/news/1750500.html
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
486デフォルトの名無しさん
2017/07/08(土) 06:00:28.99ID:h3/vqusb >>484
あ? スカトロが何だって?
あ? スカトロが何だって?
487デフォルトの名無しさん
2017/07/08(土) 09:51:52.03ID:bx7kaphQ 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)の
Ford - Fulkerson のアルゴリズムのプログラムを読んでいます。
ひどいプログラムです。
たとえば、深さ優先探索を行う関数を見てください↓
void dfs(int v, int path[]){// vからの深さ優先探索
■■■■int afwd, abk, w;
■■■■afwd = edgefirst[v];
■■■■while (afwd != 0 && rescap[afwd] == 0) afwd = edgenext[afwd];
■■■■while (t_found == false && afwd != 0) {// 増加パスはまだ発見されいない限り
■■■■■■■■w = head[afwd];
■■■■■■■■if (path[w] == unvisited) {// wが未訪問であったらwへ前進
■■■■■■■■■■■■abk = afwd+1; // abkはafwdの逆向きの辺
■■■■■■■■■■■■if (afwd % 2 ==0) abk = afwd-1;
■■■■■■■■■■■■path[w] = abk; // afwdの逆向きの辺abkをpath[w]に記憶する
■■■■■■■■■■■■if (w != t) dfs(w,path); // wからの深さ優先探索へ進む
■■■■■■■■■■■■else {// w == t なので増加パスPが見つかった
■■■■■■■■■■■■■■■■t_found=true; // dfs(v,path)の強制終了へ
■■■■■■■■■■■■}
■■■■■■■■}
■■■■■■■■if (t_found == false) { // dfs(v,path)が強制終了になっていないときのみ
■■■■■■■■■■■■ afwd = edgenext[afwd]; //次の辺に移る
■■■■■■■■■■■■ while (afwd != 0 && rescap[afwd] == 0) afwd = edgenext[afwd];
■■■■■■■■}
■■■■}
}
Ford - Fulkerson のアルゴリズムのプログラムを読んでいます。
ひどいプログラムです。
たとえば、深さ優先探索を行う関数を見てください↓
void dfs(int v, int path[]){// vからの深さ優先探索
■■■■int afwd, abk, w;
■■■■afwd = edgefirst[v];
■■■■while (afwd != 0 && rescap[afwd] == 0) afwd = edgenext[afwd];
■■■■while (t_found == false && afwd != 0) {// 増加パスはまだ発見されいない限り
■■■■■■■■w = head[afwd];
■■■■■■■■if (path[w] == unvisited) {// wが未訪問であったらwへ前進
■■■■■■■■■■■■abk = afwd+1; // abkはafwdの逆向きの辺
■■■■■■■■■■■■if (afwd % 2 ==0) abk = afwd-1;
■■■■■■■■■■■■path[w] = abk; // afwdの逆向きの辺abkをpath[w]に記憶する
■■■■■■■■■■■■if (w != t) dfs(w,path); // wからの深さ優先探索へ進む
■■■■■■■■■■■■else {// w == t なので増加パスPが見つかった
■■■■■■■■■■■■■■■■t_found=true; // dfs(v,path)の強制終了へ
■■■■■■■■■■■■}
■■■■■■■■}
■■■■■■■■if (t_found == false) { // dfs(v,path)が強制終了になっていないときのみ
■■■■■■■■■■■■ afwd = edgenext[afwd]; //次の辺に移る
■■■■■■■■■■■■ while (afwd != 0 && rescap[afwd] == 0) afwd = edgenext[afwd];
■■■■■■■■}
■■■■}
}
488デフォルトの名無しさん
2017/07/08(土) 10:04:34.97ID:gbIBpGm+ 基地外こえーな
489デフォルトの名無しさん
2017/07/08(土) 10:07:07.69ID:bx7kaphQ ↓は、↑と等価なプログラムです。
すっきりとしていて分かりやすいですね。↓
void dfs(int v, int path[]){
■■■■int afwd, abk, w;
■■■■afwd = edgefirst[v];
■■■■for(afwd = edgefirst[v]; afwd != 0; afwd = edgenext[afwd]){
■■■■■■■■if(rescap[afwd] == 0) continue;
■■■■■■■■w = head[afwd];
■■■■■■■■if(path[w] == unvisited){
■■■■■■■■■■■■if(afwd % 2 == 0){
■■■■■■■■■■■■■■■■abk = afwd - 1;
■■■■■■■■■■■■}else{
■■■■■■■■■■■■■■■■abk = afwd + 1;
■■■■■■■■■■■■}■■■■■■■■
■■■■■■■■■■■■path[w] = abk;
■■■■■■■■■■■■if(w != t){
■■■■■■■■■■■■■■■■dfs(w, path);
■■■■■■■■■■■■}else{
■■■■■■■■■■■■■■■■t_found = true;
■■■■■■■■■■■■■■■■return;
■■■■■■■■■■■■}
■■■■■■■■}
■■■■}
}
すっきりとしていて分かりやすいですね。↓
void dfs(int v, int path[]){
■■■■int afwd, abk, w;
■■■■afwd = edgefirst[v];
■■■■for(afwd = edgefirst[v]; afwd != 0; afwd = edgenext[afwd]){
■■■■■■■■if(rescap[afwd] == 0) continue;
■■■■■■■■w = head[afwd];
■■■■■■■■if(path[w] == unvisited){
■■■■■■■■■■■■if(afwd % 2 == 0){
■■■■■■■■■■■■■■■■abk = afwd - 1;
■■■■■■■■■■■■}else{
■■■■■■■■■■■■■■■■abk = afwd + 1;
■■■■■■■■■■■■}■■■■■■■■
■■■■■■■■■■■■path[w] = abk;
■■■■■■■■■■■■if(w != t){
■■■■■■■■■■■■■■■■dfs(w, path);
■■■■■■■■■■■■}else{
■■■■■■■■■■■■■■■■t_found = true;
■■■■■■■■■■■■■■■■return;
■■■■■■■■■■■■}
■■■■■■■■}
■■■■}
}
490デフォルトの名無しさん
2017/07/08(土) 10:10:00.82ID:bx7kaphQ 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)のプログラムは
すべて↑こんな感じなので、いちいち自分でまともな等価なプログラムに改善してから
読む必要に迫られます。
すべて↑こんな感じなので、いちいち自分でまともな等価なプログラムに改善してから
読む必要に迫られます。
491デフォルトの名無しさん
2017/07/08(土) 10:29:14.58ID:W4vGtvme 海苔弁プログラムと呼ぶことにしよう
492デフォルトの名無しさん
2017/07/08(土) 10:35:19.17ID:dHGGPCH1 アホのアスペ日記
493デフォルトの名無しさん
2017/07/08(土) 14:20:34.28ID:bx7kaphQ for-2ch-codes/FlowLibrary.h
↓こちらが浅野さんの Ford - Fulkerson のアルゴリズムのソースコードです:
for-2ch-codes/asano_fordfulkerson.c
↑なぜ、こんな分かりにくいコードを書けるのか不思議です。
アルゴリズムの研究者なのに、プログラミングをしたことがないのでしょうか?
↓こちらが浅野さんのコードを読みやすくした等価なコードです:
for-2ch-codes/my_fordfulkerson.c
↓こちらが浅野さんの Ford - Fulkerson のアルゴリズムのソースコードです:
for-2ch-codes/asano_fordfulkerson.c
↑なぜ、こんな分かりにくいコードを書けるのか不思議です。
アルゴリズムの研究者なのに、プログラミングをしたことがないのでしょうか?
↓こちらが浅野さんのコードを読みやすくした等価なコードです:
for-2ch-codes/my_fordfulkerson.c
494デフォルトの名無しさん
2017/07/08(土) 14:21:50.45ID:bx7kaphQ https://github.com/for-2ch/for-2ch-codes/blob/master/FlowLibrary.h
↓こちらが浅野さんのソースコードです:
https://github.com/for-2ch/for-2ch-codes/blob/master/asano_fordfulkerson.c
↑なぜ、こんな分かりにくいコードを書けるのか不思議です。
アルゴリズムの研究者なのに、プログラミングをしたことがないのでしょうか?
↓こちらが浅野さんのコードを読みやすくした等価なコードです:
https://github.com/for-2ch/for-2ch-codes/blob/master/my_fordfulkerson.c
↓こちらが浅野さんのソースコードです:
https://github.com/for-2ch/for-2ch-codes/blob/master/asano_fordfulkerson.c
↑なぜ、こんな分かりにくいコードを書けるのか不思議です。
アルゴリズムの研究者なのに、プログラミングをしたことがないのでしょうか?
↓こちらが浅野さんのコードを読みやすくした等価なコードです:
https://github.com/for-2ch/for-2ch-codes/blob/master/my_fordfulkerson.c
495デフォルトの名無しさん
2017/07/08(土) 14:46:01.89ID:shVOEDs/ ■■■■■■■■■■■■■
■■このスレ闇が深すぎ■■
■■■■■■■■■■■■■
■■このスレ闇が深すぎ■■
■■■■■■■■■■■■■
496デフォルトの名無しさん
2017/07/08(土) 15:34:28.51ID:/nxmjkTk すみません、松坂くんて誰ですか
497デフォルトの名無しさん
2017/07/08(土) 16:30:54.37ID:/Hl6yXpd >>496
教科書の荒さがして著者をdisることを生きがいとしてる厨房
ID:bx7kaphQ
Daniel Marcus Graph Theory を読む。 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/math/1497007079/
教科書の荒さがして著者をdisることを生きがいとしてる厨房
ID:bx7kaphQ
Daniel Marcus Graph Theory を読む。 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/math/1497007079/
>>497
高等な趣味だと思うよ,よく頑張っているね
高等な趣味だと思うよ,よく頑張っているね
499デフォルトの名無しさん
2017/07/08(土) 19:37:28.26ID:ICTsGxtb 馬鹿アスペ同士仲良く
500デフォルトの名無しさん
2017/07/09(日) 17:28:01.51ID:X4hx0gz3 お前ら、ちゃんと次スレ立ててやれよ?
隔離スレさえあればこっちに被害は及ばないからな
隔離スレさえあればこっちに被害は及ばないからな
501デフォルトの名無しさん
2017/07/09(日) 17:29:01.52ID:ZR+XIVIQ お前がやれよ
502デフォルトの名無しさん
2017/07/10(月) 01:48:04.10ID:LYhH/bN3 よし、今日からワイがM坂だ!
503デフォルトの名無しさん
2017/07/10(月) 10:06:36.48ID:BQfNYjN8 比較によるソートの比較回数の下限についての議論で決定木が登場します。
決定木の葉の数が n! 以上だという記述があるのですが、ちょうど n! ではないのでしょうか?
意味不明です。
決定木の葉の数が n! 以上だという記述があるのですが、ちょうど n! ではないのでしょうか?
意味不明です。
504デフォルトの名無しさん
2017/07/10(月) 13:49:55.16ID:BQfNYjN8 そもそも決定木って何ですか?
505デフォルトの名無しさん
2017/07/10(月) 14:01:08.40ID:BQfNYjN8 例えば、決定木の内部ノードに 1: 2 というのノードにおいて、
a_1 ≧ a_2 であるか a_1 < a_2 であるかを計算しますが、
その計算結果を捨ててしまってもいいんですよね?
a_1 ≧ a_2 であるか a_1 < a_2 であるかを計算しますが、
その計算結果を捨ててしまってもいいんですよね?
506デフォルトの名無しさん
2017/07/10(月) 14:02:15.57ID:BQfNYjN8 例えば、決定木の内部ノードに 1: 2 というノードがあったとすると、そのノードにおいて、
a_1 ≧ a_2 であるか a_1 < a_2 であるかを計算しますが、その計算結果を捨ててしまっ
て以後利用しなくてもいいんですよね?
a_1 ≧ a_2 であるか a_1 < a_2 であるかを計算しますが、その計算結果を捨ててしまっ
て以後利用しなくてもいいんですよね?
507デフォルトの名無しさん
2017/07/10(月) 17:02:14.26ID:BQfNYjN8508デフォルトの名無しさん
2017/07/10(月) 17:11:43.87ID:OAwCY67i どこでもたちまち糞日記スレにしてしまう恐ろしさ
509デフォルトの名無しさん
2017/07/10(月) 17:39:12.62ID:S+vnKcL6 他にも被害スレが?
510デフォルトの名無しさん
2017/07/10(月) 18:34:52.99ID:BQfNYjN8 段々、言いたいことが分かってきました。
a1, a2, a3, a4 を比較によってソートするあるアルゴリズムがあるとします。
そのアルゴリズムには対応する決定木 T が存在します。
深さ k の決定木の葉の数の最大値は明らかに 2^k です。(深さ k の完全2分木の場合)
a1, a2, a3, a4 の大小関係の可能性は、以下の 4! = 24 通りあります。
a1 < a2 < a3 < a4
a1 < a2 < a4 < a3
…
a4 < a3 < a2 < a1
そのすべての可能性に対してそのアルゴリズムはソートしなければならないので、
T の葉の数はちょうど 24 であるはずです。
深さ 1 の決定木はただ一つ存在し、葉の数は 2 です。
24 ≠ 2 なので、 T の深さは 1 ではありません。
深さ 2 の決定木の葉の数の最大値は 2^2 = 4 です。
24 ≦ 4 ではないため深さ 2 の決定木では、 24 個の葉を収容できません。
深さ 3 の決定木の葉の数の最大値は 2^3 = 8 です。
24 ≦ 8 ではないため深さ 3 の決定木では、 24 個の葉を収容できません。
a1, a2, a3, a4 を比較によってソートするあるアルゴリズムがあるとします。
そのアルゴリズムには対応する決定木 T が存在します。
深さ k の決定木の葉の数の最大値は明らかに 2^k です。(深さ k の完全2分木の場合)
a1, a2, a3, a4 の大小関係の可能性は、以下の 4! = 24 通りあります。
a1 < a2 < a3 < a4
a1 < a2 < a4 < a3
…
a4 < a3 < a2 < a1
そのすべての可能性に対してそのアルゴリズムはソートしなければならないので、
T の葉の数はちょうど 24 であるはずです。
深さ 1 の決定木はただ一つ存在し、葉の数は 2 です。
24 ≠ 2 なので、 T の深さは 1 ではありません。
深さ 2 の決定木の葉の数の最大値は 2^2 = 4 です。
24 ≦ 4 ではないため深さ 2 の決定木では、 24 個の葉を収容できません。
深さ 3 の決定木の葉の数の最大値は 2^3 = 8 です。
24 ≦ 8 ではないため深さ 3 の決定木では、 24 個の葉を収容できません。
511デフォルトの名無しさん
2017/07/10(月) 18:37:08.78ID:BQfNYjN8 深さ 4 の決定木の葉の数の最大値は 2^4 = 16 です。
24 ≦ 16 ではないため深さ 4 の決定木では、 24 個の葉を収容できません。
深さ 5 の決定木の葉の数の最大値は 2^5 = 32 です。
24 ≦ 32 であるため深さ 5 の決定木には、 24 個の葉を収容可能です。
以上から、決定木 T の葉の深さは最低でも 5 である必要があります。
24 ≦ 16 ではないため深さ 4 の決定木では、 24 個の葉を収容できません。
深さ 5 の決定木の葉の数の最大値は 2^5 = 32 です。
24 ≦ 32 であるため深さ 5 の決定木には、 24 個の葉を収容可能です。
以上から、決定木 T の葉の深さは最低でも 5 である必要があります。
512デフォルトの名無しさん
2017/07/10(月) 18:52:50.18ID:BQfNYjN8 a_1, a_2, …, a_n を比較によってソートするあるアルゴリズムがあるとします。
そのアルゴリズムには対応する決定木 T が存在します。
深さ k の決定木の葉の数の最大値は明らかに 2^k です。(深さ k の完全2分木の場合)
a_1, a_2, …, a_n の大小関係の可能性は、以下の n! 通りあります。
a_1 < a_2 < … a_(n-1) < a_n
a_1 < a_2 < … a_n < a_(n-1)
…
a_n < a_(n-1) < … < a_1
そのすべての可能性に対してそのアルゴリズムはソートしなければならないので、
T の葉の数はちょうど n! であるはずです。
n! 個の葉を収容するためには、 T の深さを k とすると、
n! ≦ 2^k
が成り立たなければなりません。
よって、
lg(n!) ≦ lg(2^k) = k*lg(2) = k
が成り立たなければなりません。
そのアルゴリズムには対応する決定木 T が存在します。
深さ k の決定木の葉の数の最大値は明らかに 2^k です。(深さ k の完全2分木の場合)
a_1, a_2, …, a_n の大小関係の可能性は、以下の n! 通りあります。
a_1 < a_2 < … a_(n-1) < a_n
a_1 < a_2 < … a_n < a_(n-1)
…
a_n < a_(n-1) < … < a_1
そのすべての可能性に対してそのアルゴリズムはソートしなければならないので、
T の葉の数はちょうど n! であるはずです。
n! 個の葉を収容するためには、 T の深さを k とすると、
n! ≦ 2^k
が成り立たなければなりません。
よって、
lg(n!) ≦ lg(2^k) = k*lg(2) = k
が成り立たなければなりません。
513デフォルトの名無しさん
2017/07/10(月) 18:53:05.24ID:BQfNYjN8 lg(n!) = Θ(n*lg(n)) ですので、
Θ(n*lg(n)) ≦ k
が成り立ちます。
以上より、比較によってソートする最高速度のアルゴリズムでも、その決定木の深さは
少なくとも Θ(n*lg(n)) の深さがあります。
よって、その最高速度のアルゴリズムにとって最悪のデータ a_1, a_2, …, a_n を与えた場合、
少なくとも Θ(n*lg(n)) 回の比較が必要です。
Θ(n*lg(n)) ≦ k
が成り立ちます。
以上より、比較によってソートする最高速度のアルゴリズムでも、その決定木の深さは
少なくとも Θ(n*lg(n)) の深さがあります。
よって、その最高速度のアルゴリズムにとって最悪のデータ a_1, a_2, …, a_n を与えた場合、
少なくとも Θ(n*lg(n)) 回の比較が必要です。
514デフォルトの名無しさん
2017/07/10(月) 18:57:08.74ID:BQfNYjN8 訂正します:
lg(n!) = Ω(n*lg(n)) ですので、
Ω(n*lg(n)) ≦ k
が成り立ちます。
以上より、比較によってソートする最高速度のアルゴリズムでも、その決定木の深さは
少なくとも Ω(n*lg(n)) の深さがあります。
よって、その最高速度のアルゴリズムにとって最悪のデータ a_1, a_2, …, a_n を与えた場合、
少なくとも Ω(n*lg(n)) 回の比較が必要です。
lg(n!) = Ω(n*lg(n)) ですので、
Ω(n*lg(n)) ≦ k
が成り立ちます。
以上より、比較によってソートする最高速度のアルゴリズムでも、その決定木の深さは
少なくとも Ω(n*lg(n)) の深さがあります。
よって、その最高速度のアルゴリズムにとって最悪のデータ a_1, a_2, …, a_n を与えた場合、
少なくとも Ω(n*lg(n)) 回の比較が必要です。
515デフォルトの名無しさん
2017/07/10(月) 19:00:21.22ID:BQfNYjN8 なんか非常に大雑把な議論で Ω(n*lg(n)) という評価を得ているのに、
ヒープソートやマージソートのような O(n*lg(n)) のアルゴリズムが存在する
というところが不思議ですね。
ヒープソートやマージソートのような O(n*lg(n)) のアルゴリズムが存在する
というところが不思議ですね。
516デフォルトの名無しさん
2017/07/10(月) 19:15:23.77ID:wVcu7osF この人DHAだろ
517デフォルトの名無しさん
2017/07/10(月) 19:19:20.07ID:TpSxkkBl マグロの目?
518デフォルトの名無しさん
2017/07/10(月) 20:08:22.69ID:BQfNYjN8 アマゾンってダメダメですね。
【全品10%ポイント還元】マンガ・雑誌など本全品がお買い得
7/10 18:00〜7/11 23:59のプライムデー限定で全ての商品が10%ポイント還元中! >今すぐチェック
ヤフーショッピングとかで買えば実質30%引きくらいで買えるときもありますよね。
【全品10%ポイント還元】マンガ・雑誌など本全品がお買い得
7/10 18:00〜7/11 23:59のプライムデー限定で全ての商品が10%ポイント還元中! >今すぐチェック
ヤフーショッピングとかで買えば実質30%引きくらいで買えるときもありますよね。
519デフォルトの名無しさん
2017/07/10(月) 20:27:20.96ID:Di3Z2y8c >>516
ADHD?唯の馬鹿のアスペだと思う
ADHD?唯の馬鹿のアスペだと思う
520デフォルトの名無しさん
2017/07/11(火) 02:13:19.92ID:kTultHtx URLとかファイルパスとかコマンドとかをクッソ汚い文字列として
文字列処理で結合したり変数埋込みしたり正規表現使ったり
するコードとか、
エンコードされたり、エスケープ混じりのぐちゃぐちゃな文字列とか
とにかく汚くて長くて改行されてない文字列処理にも
データ構造やデザインパターンて適用できるの?
またはデータ構造やデザインパターンでソースをきれいに
整形できたりする?
文字列処理で結合したり変数埋込みしたり正規表現使ったり
するコードとか、
エンコードされたり、エスケープ混じりのぐちゃぐちゃな文字列とか
とにかく汚くて長くて改行されてない文字列処理にも
データ構造やデザインパターンて適用できるの?
またはデータ構造やデザインパターンでソースをきれいに
整形できたりする?
521デフォルトの名無しさん
2017/07/11(火) 10:51:23.09ID:GFhKOZAg 文字列処理っつってもいろいろあんだろ
どういう処理がしたいのかもわからんのにデザパタ適用もクソもあるかよ
どういう処理がしたいのかもわからんのにデザパタ適用もクソもあるかよ
522デフォルトの名無しさん
2017/07/11(火) 11:15:39.29ID:oEYLH8ZM Stringというデータ構造
523デフォルトの名無しさん
2017/07/11(火) 19:00:22.76ID:XmA15/s4 クッソ汚いもぐちゃぐちゃも個人の感想だから伝わらない
524デフォルトの名無しさん
2017/07/11(火) 21:26:37.33ID:rybeffro おう、松坂!
次スレな
俺は賢い、ディープラーニング教えて [無断転載禁止]©2ch.net
https://mevius.2ch.net/test/read.cgi/tech/1498636978/l50
次スレな
俺は賢い、ディープラーニング教えて [無断転載禁止]©2ch.net
https://mevius.2ch.net/test/read.cgi/tech/1498636978/l50
525デフォルトの名無しさん
2017/07/12(水) 14:44:43.08ID:sNyzU/qO 著者名NGに入れて連鎖あぽーんですっきりするな
526デフォルトの名無しさん
2017/07/12(水) 18:59:57.68ID:BkmceXb8 繁野麻衣子著『ネットワーク最適化とアルゴリズム』を読んでいます。
http://imgur.com/RI1TvXi.jpg
部分グラフの定義がおかしいです。
こんな基礎的なところで間違いを犯しているというのが信じられません。
http://imgur.com/RI1TvXi.jpg
部分グラフの定義がおかしいです。
こんな基礎的なところで間違いを犯しているというのが信じられません。
527デフォルトの名無しさん
2017/07/12(水) 19:25:04.11ID:BkmceXb8 あ、グラフになっていないと部分グラフとは言わないからOKなんですね。
でも分かりにくい表現ですね。
でも分かりにくい表現ですね。
528デフォルトの名無しさん
2017/07/12(水) 19:35:27.04ID:BkmceXb8 A' が空集合の場合はどうするんですかね?
529デフォルトの名無しさん
2017/07/12(水) 19:40:24.94ID:BkmceXb8 空写像って何ですか?
530デフォルトの名無しさん
2017/07/12(水) 19:50:43.67ID:sNyzU/qO 中学生?
531デフォルトの名無しさん
2017/07/13(木) 01:49:26.96ID:dTYbVLC2 ただの基地外だろう。
532デフォルトの名無しさん
2017/07/16(日) 19:13:54.39ID:jm8THNZB D40
http://imgur.com/i8hq9mG.jpg
↑この問題に対する解答ですが、
https://github.com/for-2ch/for-2ch/blob/master/Chapter_D.ipynb
の解答であっていますか?
2週間くらい前に書いたものですが、理解ができません。
仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなる
パスたちがすべて辺 AB を含まないと仮定すると、 A から B への T の辺のみ
からなるパスで辺 AB を含まないようなものが存在することになる。
↑ここが理解できません。
http://imgur.com/i8hq9mG.jpg
↑この問題に対する解答ですが、
https://github.com/for-2ch/for-2ch/blob/master/Chapter_D.ipynb
の解答であっていますか?
2週間くらい前に書いたものですが、理解ができません。
仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなる
パスたちがすべて辺 AB を含まないと仮定すると、 A から B への T の辺のみ
からなるパスで辺 AB を含まないようなものが存在することになる。
↑ここが理解できません。
533デフォルトの名無しさん
2017/07/16(日) 19:22:48.15ID:jm8THNZB あー理解できました。
ここは分かりやすく書き直したほうがいいですね。
ここは分かりやすく書き直したほうがいいですね。
534デフォルトの名無しさん
2017/07/16(日) 19:35:47.89ID:jm8THNZB 仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなる
パスたちがすべて辺 AB を含まないと仮定します。
A_1 := A
A_n ;= B
とします。
サイクル C が以下であるとします:
A_1 → … → A_n → A_1
もしも、
辺 A_i → A_(i+1) が T に含まれないときには、
サイクル C の A_i → A_(i+1) の部分を A_i から A_(i+1) への(一意的な) T の辺のみから
なるパスに置き換えます。
すると、 A から B への T の辺のみからなるパスで辺 AB を含まないようなパスが構成できます。
これは A から B への T の辺のみからなるパスが一意的であるという木の性質に反します。
(ほかに A → B という T の辺のみからなる長さ 1 のパスが存在することに注意。)
パスたちがすべて辺 AB を含まないと仮定します。
A_1 := A
A_n ;= B
とします。
サイクル C が以下であるとします:
A_1 → … → A_n → A_1
もしも、
辺 A_i → A_(i+1) が T に含まれないときには、
サイクル C の A_i → A_(i+1) の部分を A_i から A_(i+1) への(一意的な) T の辺のみから
なるパスに置き換えます。
すると、 A から B への T の辺のみからなるパスで辺 AB を含まないようなパスが構成できます。
これは A から B への T の辺のみからなるパスが一意的であるという木の性質に反します。
(ほかに A → B という T の辺のみからなる長さ 1 のパスが存在することに注意。)
535デフォルトの名無しさん
2017/07/16(日) 19:54:31.53ID:oSRVjDnX536デフォルトの名無しさん
2017/07/19(水) 22:52:51.73ID:W3gBCwo8 データ構造とアルゴリズムを勉強するときに、プログラム作成の言語は何がおすすめでしょうか?
なぜ、いまだにC++が幅を利かせているのでしょうか?
なぜ、いまだにC++が幅を利かせているのでしょうか?
>>536
C/C++が基本だから
C/C++が基本だから
538デフォルトの名無しさん
2017/07/20(木) 07:32:28.47ID:JPSYgWUy JAVAやC#はなぜ主流じゃないんですか?
539デフォルトの名無しさん
2017/07/20(木) 08:06:18.81ID:VwfBeboA 遅いから。
でも、JAVAはアルゴリズムの教科書でも使われていることあるよ。
でも、JAVAはアルゴリズムの教科書でも使われていることあるよ。
540デフォルトの名無しさん
2017/07/20(木) 13:39:20.43ID:+UhdLUtU Golangは爆速やで〜
541デフォルトの名無しさん
2017/07/21(金) 05:47:07.66ID:oNTvtqyo Foo foo; と
Foo foo = new Foo();
は何が違うの?
あるクラス内で
private String field; のとき
public String method(String field){
return field;
}
と、
public String method(){
return this.field;
}
は何が違うの?
Foo foo = new Foo();
は何が違うの?
あるクラス内で
private String field; のとき
public String method(String field){
return field;
}
と、
public String method(){
return this.field;
}
は何が違うの?
543デフォルトの名無しさん
2017/07/21(金) 08:35:20.75ID:gbxtSnvl 命名規約的にJavaだろ
544デフォルトの名無しさん
2017/07/21(金) 10:31:24.26ID:AAWIl0Xa >>541
Foo foo; // 参照型変数fooを宣言
Foo foo = new Foo(); // さらに、メモリのヒープ領域ってとこにFoo型のインスタンスを作成し、その場所を代入
コンストラクタとかでよく見ることになると思うけど
Foo(String name) {
this.name = name;
}
これは想像どおりの挙動をしてくれる
引数とフィールドに同じ名前があったとき
フィールドのものを使いたいときあえてthisつける
Foo() {
String name = "bar";
this.name = name;
}
みたいなときも同じ
名前が被ったとき、フィールド側の変数を選ぶのがthis
Foo foo; // 参照型変数fooを宣言
Foo foo = new Foo(); // さらに、メモリのヒープ領域ってとこにFoo型のインスタンスを作成し、その場所を代入
コンストラクタとかでよく見ることになると思うけど
Foo(String name) {
this.name = name;
}
これは想像どおりの挙動をしてくれる
引数とフィールドに同じ名前があったとき
フィールドのものを使いたいときあえてthisつける
Foo() {
String name = "bar";
this.name = name;
}
みたいなときも同じ
名前が被ったとき、フィールド側の変数を選ぶのがthis
545デフォルトの名無しさん
2017/07/21(金) 19:57:34.85ID:+Ec9GEX5 >>539
著者はズレてるよな。
著者はズレてるよな。
546デフォルトの名無しさん
2017/07/21(金) 20:06:52.80ID:+Ec9GEX5 データ構造、アルゴリズムはCで勉強して、デザパタはC++で勉強するのがいいな。
547デフォルトの名無しさん
2017/07/22(土) 13:37:57.58ID:S+qzOSdo 本当はGoやRuby Python JavaScript Kotlinあたりやりたいのに、
本格的なプログラミングとか設計勉強しようとすると
必ずJava, C, C++ あたりで解説されるから覚えざるを得ないというジレンマ。
本格的なプログラミングとか設計勉強しようとすると
必ずJava, C, C++ あたりで解説されるから覚えざるを得ないというジレンマ。
548デフォルトの名無しさん
2017/07/22(土) 13:46:49.67ID:0HjhMGYw おらLispやれLispゥ!
549デフォルトの名無しさん
2017/07/22(土) 18:31:48.46ID:Yr9CVNZl550デフォルトの名無しさん
2017/07/22(土) 19:09:29.77ID:3d/mUXex Javaだと問題があるのでしょうか?
セジウィックの本の第4版がJavaですが。
セジウィックの本の第4版がJavaですが。
551デフォルトの名無しさん
2017/07/22(土) 19:10:22.08ID:fXxiASxC >>547
GoやRuby Python JavaScript Kotlinあたりに入門ちゃんと済ませて、これから本格的なプログラミングとか設計を勉強していくぞって人なら
具体例の説明に使われる程度のJavaやCなんて、無勉でもある程度は読めるでしょ
GoやRuby Python JavaScript Kotlinあたりに入門ちゃんと済ませて、これから本格的なプログラミングとか設計を勉強していくぞって人なら
具体例の説明に使われる程度のJavaやCなんて、無勉でもある程度は読めるでしょ
552デフォルトの名無しさん
2017/07/22(土) 19:12:56.74ID:3d/mUXex 例えば、Pythonだとソートとかハッシュとかリストとかが用意されていますが、
データ構造を学ぶ上では高級すぎるのではないでしょうか?
データ構造を学ぶ上では高級すぎるのではないでしょうか?
553デフォルトの名無しさん
2017/07/22(土) 19:21:52.44ID:fJRG67nz Sedgwick のアルゴリズムの教科書は、C++版やJava版があるよね。
C++版はちょっと古くて、C++11以降のモダンな書き方で改訂版を出してほしい。
自分は、アルゴリズムの教科書は疑似コードのみを示すの(MITのCormenの)で勉強したんだけど、失敗だったと思っている。
疑似コードを真似してそのまま実装してたから、一文字変数あまりまえ、クラスや構造体を定義することはなく、何でもかんでも配列で済ませるというクセがついてしまった。
もうちょっと、オブジェクト指向とかを勉強してからにすればよかったのかも。
C++版はちょっと古くて、C++11以降のモダンな書き方で改訂版を出してほしい。
自分は、アルゴリズムの教科書は疑似コードのみを示すの(MITのCormenの)で勉強したんだけど、失敗だったと思っている。
疑似コードを真似してそのまま実装してたから、一文字変数あまりまえ、クラスや構造体を定義することはなく、何でもかんでも配列で済ませるというクセがついてしまった。
もうちょっと、オブジェクト指向とかを勉強してからにすればよかったのかも。
554デフォルトの名無しさん
2017/07/23(日) 11:49:40.37ID:cZonGhlD Javaとか連想配列使うだけでもいちいちnewとかキャストとか
鬱陶しい。
鬱陶しい。
555デフォルトの名無しさん
2017/07/23(日) 14:58:46.77ID:CNTwKpOF アルゴリズムは抽象的で、言語仕様とは切り離されたものであるべきなのだ。
そうは言っても手続き型を意識したものになりがちで、これを関数型に書き直せと言われても一目難しいものがままある
そうは言っても手続き型を意識したものになりがちで、これを関数型に書き直せと言われても一目難しいものがままある
556デフォルトの名無しさん
2017/07/23(日) 15:44:19.76ID:G5QCCj7S アルゴリズムイントロダクションを読んでいます。
http://imgur.com/xbuAPtJ.jpg
↑は、 ω 記法についてです。
「if the limit exists」
と書かれていますが、なぜこんなことを書いているのでしょうか?
意味不明です。
http://imgur.com/xbuAPtJ.jpg
↑は、 ω 記法についてです。
「if the limit exists」
と書かれていますが、なぜこんなことを書いているのでしょうか?
意味不明です。
557デフォルトの名無しさん
2017/07/23(日) 15:46:31.20ID:G5QCCj7S g(n) が漸近的に正であるような関数であれば、
f(n) = ω(g(n))
⇔
lim f(n) / g(n) = ∞
ではないでしょうか?
「if the limit exists」などと書いてある理由が分かりません。
f(n) = ω(g(n))
⇔
lim f(n) / g(n) = ∞
ではないでしょうか?
「if the limit exists」などと書いてある理由が分かりません。
558デフォルトの名無しさん
2017/07/23(日) 15:51:14.63ID:G5QCCj7S アルゴリズムイントロダクションって結構いい加減ですよね。
やっぱりクヌースの本を読んだ方がいいのかもしれませんね。
やっぱりクヌースの本を読んだ方がいいのかもしれませんね。
559デフォルトの名無しさん
2017/07/23(日) 15:54:26.92ID:G5QCCj7S 漸近的に正である関数
漸近的に非負である関数
について説明がありますが、
なぜ、漸近的に正である関数だけを考えないのでしょうか?
漸近的に非負である関数などこの本で登場する機会はあるのでしょうか?
漸近的に非負である関数
について説明がありますが、
なぜ、漸近的に正である関数だけを考えないのでしょうか?
漸近的に非負である関数などこの本で登場する機会はあるのでしょうか?
560デフォルトの名無しさん
2017/07/23(日) 15:55:21.76ID:p86Uodim 松坂君の夏休みの糞日記
561デフォルトの名無しさん
2017/07/23(日) 16:03:03.18ID:I43wPtVl >>556-559
この基地外が人様を害さないことを祈るばかりだ。
この基地外が人様を害さないことを祈るばかりだ。
562デフォルトの名無しさん
2017/07/23(日) 16:05:04.45ID:7bD+iXj9563デフォルトの名無しさん
2017/07/23(日) 16:09:19.74ID:cZonGhlD 機械のパフォーマンスを追求するあまりに
人間時間のパフォーマンスを際限なく犠牲にする池沼
人間時間のパフォーマンスを際限なく犠牲にする池沼
564デフォルトの名無しさん
2017/07/23(日) 18:48:09.61ID:wW+3pobQ >>563
それはお前みたいな業務プログラマの視点
それはお前みたいな業務プログラマの視点
565デフォルトの名無しさん
2017/07/23(日) 19:06:54.73ID:cZonGhlD566デフォルトの名無しさん
2017/07/23(日) 20:44:29.00ID:Js688EZT >Javaとか連想配列使うだけでもいちいちnewとかキャストとか
>鬱陶しい。
笑
>鬱陶しい。
笑
567デフォルトの名無しさん
2017/07/23(日) 20:46:56.02ID:LRxsFVvF >>565
なんでそんなに必死なの?
なんでそんなに必死なの?
568デフォルトの名無しさん
2017/07/23(日) 21:10:16.48ID:7eA3s3Ch >>562
Youがライブラリ作ってもいいんだぞ
Youがライブラリ作ってもいいんだぞ
569デフォルトの名無しさん
2017/07/23(日) 23:45:48.25ID:G5QCCj7S アルゴリズムイントロダクションを読んでいます。
「関数 n^(1 + sin(n)) の指数部の値は 0 と 2 の間で振動し、その中間にあるすべての値をとる」
などと書かれていますが、明らかに間違っていますよね。
sin(n) = 1/sqrt(2) となるような自然数 n は存在しません。
何を考えているのでしょうか?
「関数 n^(1 + sin(n)) の指数部の値は 0 と 2 の間で振動し、その中間にあるすべての値をとる」
などと書かれていますが、明らかに間違っていますよね。
sin(n) = 1/sqrt(2) となるような自然数 n は存在しません。
何を考えているのでしょうか?
570デフォルトの名無しさん
2017/07/23(日) 23:54:11.92ID:G5QCCj7S n と書いておきながら n が R を動くと仮定しているとかそんなことはないですよね?
571デフォルトの名無しさん
2017/07/24(月) 00:08:11.63ID:1mGhcU0l 原文なの? IT関係の翻訳は誤訳だらけだよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アミューズが同性婚訴訟への声明を発表「誰もが良く生きられる自由」を目指す、東京高裁の判決を受け [muffin★]
- 【イオン】中国湖南省に新大型店を開業 混乱なく地元客でにぎわい モール内にユニクロや無印良品★2 [1ゲットロボ★]
- 【サッカー】J2第38節 水戸がJ2初優勝!長崎は2位でJ1自動昇格!千葉は大量得点もPOへ [久太郎★]
- 「まだ朝7時に通勤してるんですか?」にじさんじVTuberがXの投稿で炎上、YouTubeで釈明と謝罪 [muffin★]
- 【公明党】派遣型風俗店の女性の裸をスマホで盗撮か 徳島県議会議員の古川広志容疑者逮捕 警視庁 [nita★]
- 【地方】「もうヤメとけ、また移住者様が帰っちゃうぞ」田舎の「いじめ体質」★2 [七波羅探題★]
- 【衝撃】JSが遊んでるゲームランキングがコチラ wwwwwwwwwwwさwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 【悲報】森永卓郎「東京に住むより立川とか小金井とか地方都市に住んだ方がコスパいいよ」都民に効きすぎて大炎上wwwww [786648259]
- ふなっしょい🍬なのらああああああwww🏡
- 鈴木農相「お米券でパスタやお菓子も買えるようにします☺」・・・???😰 [931948549]
- 貧乏京大生<金持ち慶應生 だよな
- 🏡
