このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
データ構造,アルゴリズム,デザインパターン総合スレ 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/
2016/06/22(水) 13:50:41.86ID:WHe3DbmR
>>44
1単語に3箇所もミス入れるなよ
1単語に3箇所もミス入れるなよ
2016/06/22(水) 14:13:53.39ID:sEqYA8cS
根幹のタームの綴りも知らん半可通に何を教われというのか
2016/06/22(水) 14:17:48.79ID:yBOVYSwe
3ヶ所もあると誤り訂正も利かないんじゃまいか
2016/06/22(水) 14:22:16.34ID:EwWgL4+X
バースト発生させんな
2016/06/22(水) 15:16:40.79ID:2z7j8yec
????????????
2016/06/22(水) 21:44:16.49ID:MWgF3eo3
>>44
そんな頭じゃ使いものにならんのも頷けるわ
そんな頭じゃ使いものにならんのも頷けるわ
2016/06/22(水) 22:23:26.91ID:Z2xvvdgM
こんな揚げ足とりの老害から何を学べと?
2016/06/22(水) 22:52:24.12ID:X6XCfxlz
馬鹿の自己紹介されても困る
2016/06/24(金) 11:47:43.21ID:hSLmnyaY
2016/07/15(金) 12:10:18.78ID:P21uCIN+
何ヶ月か前に近代科学社に電話でセジウィックアルゴリズムの第四版の翻訳の予定はありますか、と訊いてみたが無いって返事だったんだよな
書いて欲しいんだがな
書いて欲しいんだがな
2016/07/16(土) 08:00:53.05ID:Akpk7DL9
アルゴリズムさえ知ってりゃ動くプログラムは書けるから他は優先度低いと考えてた結果
データ構造すら分からない化石プログラマになってしまった
今必死にデータ構造とデザインパターン勉強中だけど、わかってくると楽しいね
アルゴリズムみたいにオーダー詰める楽しみはないけど…
データ構造すら分からない化石プログラマになってしまった
今必死にデータ構造とデザインパターン勉強中だけど、わかってくると楽しいね
アルゴリズムみたいにオーダー詰める楽しみはないけど…
2016/07/18(月) 09:37:52.19ID:YPoLSDg9
両方大事だろ。
データ構造が整理されてないとアルゴリズムも煩雑になるし。
データ構造が整理されてないとアルゴリズムも煩雑になるし。
57デフォルトの名無しさん
2016/07/21(木) 23:06:49.37ID:TpMXx+Na vEB木の「僕の考えた最強のデータ構造」感が大好きなんだが誰か共感してくれる人いる?
2016/07/22(金) 07:32:19.08ID:ot11jjQx
データ構造の基本は、以下の2つと、他にはハッシュがある
A → B → C → D
のように、メモリ上の位置がバラバラなオブジェクトを、リンクでつないでいくものと、
(シーケンシャルアクセス)
ABCD
のように、連続したメモリ位置に、オブジェクトやオブジェクトの参照が確保されていて、
単純な計算式で、各オブジェクトにアクセスできるもの(ランダムアクセス)
シーケンシャルは、リンクをたどるから、アクセスには時間がかかるけど、
要素の追加・削除では、リンクを付け替えるだけで、要素をずらさないから速い
A → B → C → D
のように、メモリ上の位置がバラバラなオブジェクトを、リンクでつないでいくものと、
(シーケンシャルアクセス)
ABCD
のように、連続したメモリ位置に、オブジェクトやオブジェクトの参照が確保されていて、
単純な計算式で、各オブジェクトにアクセスできるもの(ランダムアクセス)
シーケンシャルは、リンクをたどるから、アクセスには時間がかかるけど、
要素の追加・削除では、リンクを付け替えるだけで、要素をずらさないから速い
2016/07/26(火) 06:56:53.95ID:HN1KCMsQ
letの時代がもうすぐそこまで来ているよね
2016/07/26(火) 14:27:18.12ID:z5g/0KTZ
let
-------
λ
-------
λ
61スモモンガー
2016/09/23(金) 22:08:49.88ID:oKXONAGb どうも、お久しぶりです。スモモンガーです。(誰って感じだと思いますがそれで結構です)
以前紹介したアルゴリズムですが、結局全然応用分野は見つかっておりません。
前回は画像処理分野を中心に解説しましたが今回はより簡単に実装ができる
探索分野に絞って動画を作ってみました。つたない動画で大変申し訳ございませんが
見てみていただけたら幸いです。特許などは取得しておりませんのでどうかご自由に
お使いください。長文失礼いたします。痛いのは承知なのですが応用分野を必死に
探しているのでどうかご協力よろしくお願いします。
https://youtu.be/5m3kPHO2w98
以上、どうぞよろしくお願いします
以前紹介したアルゴリズムですが、結局全然応用分野は見つかっておりません。
前回は画像処理分野を中心に解説しましたが今回はより簡単に実装ができる
探索分野に絞って動画を作ってみました。つたない動画で大変申し訳ございませんが
見てみていただけたら幸いです。特許などは取得しておりませんのでどうかご自由に
お使いください。長文失礼いたします。痛いのは承知なのですが応用分野を必死に
探しているのでどうかご協力よろしくお願いします。
https://youtu.be/5m3kPHO2w98
以上、どうぞよろしくお願いします
2016/09/23(金) 22:16:41.76ID:xWgfj234
誰だ
2016/09/23(金) 22:42:52.63ID:fJ2M8QeM
帰れ
2016/09/24(土) 09:14:59.70ID:osPXZH57
>>61
最初の数分見ましたが..
1) 何の探索なの?最初は「探索」と聞いて「グラフかな?」とか思ったけど配列みたいだし、最初に想定される入力を明確にした方がいいですね
2) プレゼンが文章を読み上げてるだけでイメージが湧きにくい
1,4,10,20,25 …
の例ではイラストを用いた方がわかりやすいと思います
3) Kangaroo Method とはのスライドでデータがソートされていて、キーの差が (中略) バイナリサーチと同等の効率を .. とありますが、例では入力が完全にソートされているようです。これなら最初からバイナリサーチを使います
また、11m10s くらいのところで「Sinカーブは整ってる」とありますが、「整っている」の定義がよくわかりません。その後の例も見ましたが、どのくらいまで途中に想定されていないデータが混じっていても許容範囲なのかが不明です
4) 先に長所短所のスライドを持ってきて、擬似コードとオーダーも明記し、「一部ソートされてなくても O(logn) で探索できます」みたいなのを書いて、見ている人を「それならもうちょっと続きを見てみようか」みたいな気にさせられればもっといいですね
以上、感想でした
最初の数分見ましたが..
1) 何の探索なの?最初は「探索」と聞いて「グラフかな?」とか思ったけど配列みたいだし、最初に想定される入力を明確にした方がいいですね
2) プレゼンが文章を読み上げてるだけでイメージが湧きにくい
1,4,10,20,25 …
の例ではイラストを用いた方がわかりやすいと思います
3) Kangaroo Method とはのスライドでデータがソートされていて、キーの差が (中略) バイナリサーチと同等の効率を .. とありますが、例では入力が完全にソートされているようです。これなら最初からバイナリサーチを使います
また、11m10s くらいのところで「Sinカーブは整ってる」とありますが、「整っている」の定義がよくわかりません。その後の例も見ましたが、どのくらいまで途中に想定されていないデータが混じっていても許容範囲なのかが不明です
4) 先に長所短所のスライドを持ってきて、擬似コードとオーダーも明記し、「一部ソートされてなくても O(logn) で探索できます」みたいなのを書いて、見ている人を「それならもうちょっと続きを見てみようか」みたいな気にさせられればもっといいですね
以上、感想でした
2016/09/24(土) 09:32:41.92ID:n5/uj8Su
64さん。ありがとうございます。私はこういうスライドを作る機会があまりないのでこんな形になってしまいました。
実は整っているという抽象的な単語を使っていますが、実は定量的にこれを測る方法はまだ思いついていません。
そのほかのご指摘はその通りだと思います。
貴重なご意見ありがとうございます
実は整っているという抽象的な単語を使っていますが、実は定量的にこれを測る方法はまだ思いついていません。
そのほかのご指摘はその通りだと思います。
貴重なご意見ありがとうございます
2016/09/24(土) 09:49:16.96ID:B225F1SQ
動画見るの面倒だから3行で説明して
2016/09/24(土) 09:53:53.39ID:trsNBxRI
ご
み
だ
み
だ
2016/09/24(土) 09:55:26.18ID:n5/uj8Su
2016/09/24(土) 10:46:59.06ID:iZTaxfZT
>隣接するキーの最大値
これをあらかじめ求めておかなきゃならんってのが一番のネックだな。
一般のデータに対する探索だと、バイナリサーチと比較したメリットと言っていたものの大半が消し飛んでしまう。
これをあらかじめ求めておかなきゃならんってのが一番のネックだな。
一般のデータに対する探索だと、バイナリサーチと比較したメリットと言っていたものの大半が消し飛んでしまう。
2016/09/24(土) 10:49:01.89ID:9ZsTQHH6
>>61
印象としては
1. 要素間の差の最大値を求めるのに線形時間
2. 各要素の値の差が一定でないと性能を発揮しない(最大値を求めるのも含め)
3. 探索の最悪時間が線形時間、恐らく平均も線形時間
4. ソートされていなくても探索可能な条件が不明瞭
5. データの内容に探索コストが大きく左右される
例えば
1 2 4 9 15 24 100 120 1002 1225
とあった時、差の最大値は
1002-120=882
1002を探索すると
1002-1=1001, 1001/882=1
1002-2=1000, 1000/882=1
1002-4=998, 998/882=1
1002-9=993, 993/882=1
...
と線形時間になる(やり方あってるよね?)
演算している分、比較だけの線形探索より処理速度が遅くなる
印象としては
1. 要素間の差の最大値を求めるのに線形時間
2. 各要素の値の差が一定でないと性能を発揮しない(最大値を求めるのも含め)
3. 探索の最悪時間が線形時間、恐らく平均も線形時間
4. ソートされていなくても探索可能な条件が不明瞭
5. データの内容に探索コストが大きく左右される
例えば
1 2 4 9 15 24 100 120 1002 1225
とあった時、差の最大値は
1002-120=882
1002を探索すると
1002-1=1001, 1001/882=1
1002-2=1000, 1000/882=1
1002-4=998, 998/882=1
1002-9=993, 993/882=1
...
と線形時間になる(やり方あってるよね?)
演算している分、比較だけの線形探索より処理速度が遅くなる
2016/09/24(土) 11:09:23.58ID:n5/uj8Su
2016/09/25(日) 01:17:16.51ID:MeFnEkA4
>>71
上でも指摘されているが整っているの定義が不明
二分探査の場合は、存在しないこともlog n で確認可能だが、この手法は整っているの定義次第では存在しない者の確認が非常に時間かかる(ソートされている場合は存在するものと同等だが、そうすると二分探索よりも利点が少なくなる)
平均計算量を求めるのはちと難しそうだけど、格納される値の値域に依存するかな
たぶん、log n 程良くはないと思う
上でも指摘されているが整っているの定義が不明
二分探査の場合は、存在しないこともlog n で確認可能だが、この手法は整っているの定義次第では存在しない者の確認が非常に時間かかる(ソートされている場合は存在するものと同等だが、そうすると二分探索よりも利点が少なくなる)
平均計算量を求めるのはちと難しそうだけど、格納される値の値域に依存するかな
たぶん、log n 程良くはないと思う
2016/09/25(日) 09:29:52.06ID:byM8xGto
>>72
ご指摘ありがとうございます。確かに整っているの定義ができていないのが一番の難点ですよね。いつか勉強して考えたいと思います
ご指摘ありがとうございます。確かに整っているの定義ができていないのが一番の難点ですよね。いつか勉強して考えたいと思います
74デフォルトの名無しさん
2016/09/25(日) 12:26:29.96ID:3wiQalb82016/09/25(日) 12:52:11.14ID:NTqjAG/u
>>71
各要素間の差が一定であればO(1)、当たり前だけど、これは計算で求まる
各要素間の差の分布数が要素数に近づき、尚且つその落差が激しい場合
著しく線形時間になる
で、探索したい数値と差の最大値の商が1だった場合
その探索したい数値がある位置以下の数値探索はO(n)になる
データ列の後半に行くほど1回の演算で要素をステップする数が増えるけど
その移動は微々たるもの
データ列の内容に左右されることを差っ引いても、O(log n)からは程遠いと思う
詳しい計算は出来ないが、これを線形時間としても無理はないと思う
参考として
0 1 3 6 10 15 21 28 36 45
このデータ列では、15以下の探索はO(n)、
21は5回、28は4回、36は4回、45は3回の演算
結論として
このアルゴリズムの最大の欠点は差の最大値が必要な事を含めて
データ列の内容に左右されてしまうことだな
この手のアルゴリズムはデータの外側にあるべきだな
各要素間の差が一定であればO(1)、当たり前だけど、これは計算で求まる
各要素間の差の分布数が要素数に近づき、尚且つその落差が激しい場合
著しく線形時間になる
で、探索したい数値と差の最大値の商が1だった場合
その探索したい数値がある位置以下の数値探索はO(n)になる
データ列の後半に行くほど1回の演算で要素をステップする数が増えるけど
その移動は微々たるもの
データ列の内容に左右されることを差っ引いても、O(log n)からは程遠いと思う
詳しい計算は出来ないが、これを線形時間としても無理はないと思う
参考として
0 1 3 6 10 15 21 28 36 45
このデータ列では、15以下の探索はO(n)、
21は5回、28は4回、36は4回、45は3回の演算
結論として
このアルゴリズムの最大の欠点は差の最大値が必要な事を含めて
データ列の内容に左右されてしまうことだな
この手のアルゴリズムはデータの外側にあるべきだな
2016/09/25(日) 14:20:01.83ID:8PebKpFu
>>74
88
88
2016/09/26(月) 13:42:01.27ID:ymOrEJcI
78スモモンガー
2016/09/26(月) 20:32:40.67ID:7l1kSKga 確かにデータ間の差に一様離散分布を使ったのは公平ではなかったです。
なので、データを完全にランダムにして調べてみました。
データはCのrand()%1000000で10000個生成しソートして、
探索の時配列のうちランダムな値を探すキーとし間を線形探索、カンガルー法
バイナリサーチで100回比べてみました。
その結果線形探索では平均比較回数約4963回最大比較回数は9972回でした
カンガルー法は平均比較回数約70回 最大比較回数は111回でした。
バイナリーサーチはやはり一番はやく、平均比較回数約12回、最大比較回数は14回でした
皆さんがご指摘の通りやはりバイナリーサーチが一番はやいようです。
ただ、例えばKMP法が逆行がないから使われているようにカンガルー法も逆行がないので
使うことはできないでしょうか?もし、とんちんかんなこと言ってたらすいません。
なので、データを完全にランダムにして調べてみました。
データはCのrand()%1000000で10000個生成しソートして、
探索の時配列のうちランダムな値を探すキーとし間を線形探索、カンガルー法
バイナリサーチで100回比べてみました。
その結果線形探索では平均比較回数約4963回最大比較回数は9972回でした
カンガルー法は平均比較回数約70回 最大比較回数は111回でした。
バイナリーサーチはやはり一番はやく、平均比較回数約12回、最大比較回数は14回でした
皆さんがご指摘の通りやはりバイナリーサーチが一番はやいようです。
ただ、例えばKMP法が逆行がないから使われているようにカンガルー法も逆行がないので
使うことはできないでしょうか?もし、とんちんかんなこと言ってたらすいません。
2016/09/26(月) 20:37:55.45ID:7l1kSKga
>>74
www確かにそうかもしれませんね。
>>77
一応私はニュートン法については知っています。Newton法は求める関数の微分した値を
しっていなければならないとおもうのですが、現実の探索だと関数が微分できないことも
多いかと思います。ちょっと、私が使った例が悪くてsinカーブや円を使ったのがよく
なかったのかもしれません。整っていてソートされていないデータとして扱いやすかったので
sin関数を使ったのであってとくにデータが微分可能である必要はありません。円と
Y切片の交点も中学生でも二次方程式ときゃいいのでもっと簡単にできますが、本来は
多角形とさまざまな図形の交点を探るアルゴリズムです。円を使ったのは例をわかりやすく
したかったからです。
www確かにそうかもしれませんね。
>>77
一応私はニュートン法については知っています。Newton法は求める関数の微分した値を
しっていなければならないとおもうのですが、現実の探索だと関数が微分できないことも
多いかと思います。ちょっと、私が使った例が悪くてsinカーブや円を使ったのがよく
なかったのかもしれません。整っていてソートされていないデータとして扱いやすかったので
sin関数を使ったのであってとくにデータが微分可能である必要はありません。円と
Y切片の交点も中学生でも二次方程式ときゃいいのでもっと簡単にできますが、本来は
多角形とさまざまな図形の交点を探るアルゴリズムです。円を使ったのは例をわかりやすく
したかったからです。
80デフォルトの名無しさん
2016/10/16(日) 18:51:48.49ID:LqkHCFhg 状態遷移ってどういうステータス持てばいいの?
A と B のステータスがあって、お互いが切り替わるのに n秒 かかる
切り替わりに失敗したら切り替えをリトライする
AはBになろうとし、BはAになろうとする
というとき、A と B のほかに AからBになるのを待ってる状態と
BからAになるを待ってる状態の 2つがさらに状態として必要?
過渡状態も状態?
A と B のステータスがあって、お互いが切り替わるのに n秒 かかる
切り替わりに失敗したら切り替えをリトライする
AはBになろうとし、BはAになろうとする
というとき、A と B のほかに AからBになるのを待ってる状態と
BからAになるを待ってる状態の 2つがさらに状態として必要?
過渡状態も状態?
2016/10/17(月) 07:56:46.27ID:TukeUWYl
2016/10/17(月) 15:43:18.44ID:srAFoI0L
2016/10/17(月) 17:53:14.06ID:75S5w4gh
現在の状態と次の状態のペアにすれば?
2016/10/17(月) 21:23:44.83ID:sc7L52q+
辛かろうが状態が存在するのならしょうがあるまい。
あるいは遷移をアトミックにして遷移中状態そのものを無くすか、遷移中の動作を共通化
できるなら遷移先をパラメータ化して「*への遷移中」という1状態にしてしまうとか。
あるいは遷移をアトミックにして遷移中状態そのものを無くすか、遷移中の動作を共通化
できるなら遷移先をパラメータ化して「*への遷移中」という1状態にしてしまうとか。
2016/10/17(月) 23:34:18.88ID:WkWdUImM
>>82には無理ということで
2016/11/05(土) 20:41:10.12ID:PXYcOtjJ
ポリモーフィックなクラスの相互作用において特定の型の組み合わせの場合のみ処理を特殊化したい場合はどうすればいいのだろう?
x = xFactory.create(...);
y = yFactory.create(...);
if(x.typeCode() == X.Foo && y.typeCode() == Y.Hoge)
executeSpecial((Foo) x, (Hoge) y);
else if (...)
...
else
executeNormal(x, y);
x = xFactory.create(...);
y = yFactory.create(...);
if(x.typeCode() == X.Foo && y.typeCode() == Y.Hoge)
executeSpecial((Foo) x, (Hoge) y);
else if (...)
...
else
executeNormal(x, y);
2016/12/12(月) 23:13:40.61ID:IcWOSn01
デザインパターンを使って実装すると、年長プログラマーから、またこんなことしやがって的な拒否反応が帰ってくるんだがどうすれば
2016/12/12(月) 23:42:41.92ID:bt79hYqC
排除する他道は無い。
2016/12/12(月) 23:50:03.81ID:hGpJarHd
転職しろ
2016/12/13(火) 03:19:26.34ID:neuXXcOh
若者で組合(または派閥)を創る
2016/12/13(火) 08:14:05.45ID:5xcG7lRc
>>87 がどんなコードを書いたかも分からんのに
2016/12/13(火) 18:53:42.04ID:MUcELcjh
下手くそがデザインパターンとか使うと逆にこんがらがるからなぁ
老害とどっこいどっこいだろ
老害とどっこいどっこいだろ
93デフォルトの名無しさん
2016/12/13(火) 21:32:18.83ID:lYWHr0pJ マルチスレッドで、なんの考えもなくオブザーバー使いまくられて、データ破壊しまくられた時には、本気で殺意を抱いたよ
94デフォルトの名無しさん
2016/12/16(金) 15:12:11.72ID:kO0vFktz 『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』
の優先度付きキューについてのプログラムについて質問です。
p.241の heapIncreaseKey(A, i, key) という関数内で、
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
というのがあります。
これがなぜ必要なのかが分かりません。
insert(key) を見れば分かるように、この本の使われ方では、
key < A[i] になることは決してありません。
よろしくお願いします。
の優先度付きキューについてのプログラムについて質問です。
p.241の heapIncreaseKey(A, i, key) という関数内で、
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
というのがあります。
これがなぜ必要なのかが分かりません。
insert(key) を見れば分かるように、この本の使われ方では、
key < A[i] になることは決してありません。
よろしくお願いします。
2016/12/16(金) 15:34:53.22ID:n8JQ6xp/
assertionじゃね
96デフォルトの名無しさん
2016/12/17(土) 16:05:18.68ID:lvQHWty7 完成形をいきなり見てると不思議に思うよね。
でも実際には作成中のバグを考慮して、最初にチェックを入れておくもんなんだよね。
まあ、一言で言えばassertなんだけど。
ただ、作業やデバッグ用には必須であっても、その本の例示として必要か?と言われれば、確かにいらない気がする。
でも実際には作成中のバグを考慮して、最初にチェックを入れておくもんなんだよね。
まあ、一言で言えばassertなんだけど。
ただ、作業やデバッグ用には必須であっても、その本の例示として必要か?と言われれば、確かにいらない気がする。
97デフォルトの名無しさん
2016/12/17(土) 16:09:26.93ID:GDWdcO6h98デフォルトの名無しさん
2016/12/17(土) 16:23:27.88ID:GDWdcO6h >>94
念のため、該当箇所の画像をアップロードさせていただきます。
読めば読むほど意味不明です。
http://imgur.com/zKVWzAJ.jpg
http://imgur.com/owa8NkX.jpg
http://imgur.com/NmCczss.jpg
念のため、該当箇所の画像をアップロードさせていただきます。
読めば読むほど意味不明です。
http://imgur.com/zKVWzAJ.jpg
http://imgur.com/owa8NkX.jpg
http://imgur.com/NmCczss.jpg
2016/12/17(土) 16:42:25.50ID:a9hyyPvt
>>97
参考文献ならパクってるとは言わない
参考文献ならパクってるとは言わない
100デフォルトの名無しさん
2016/12/17(土) 16:43:27.67ID:a9hyyPvt101デフォルトの名無しさん
2016/12/17(土) 18:12:28.79ID:rDdwnYMe >>97
他の本も読んでみるとわかると思うけど、プライオリティキューを二分木ヒープで実装するのは定番で、どの本でも大体同じことが書いてある
他の本も読んでみるとわかると思うけど、プライオリティキューを二分木ヒープで実装するのは定番で、どの本でも大体同じことが書いてある
102デフォルトの名無しさん
2016/12/17(土) 19:29:55.59ID:GDWdcO6h >>98
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
というのが、デバッグ用であるとは思えないのですが、これは一体何なんでしょうか?
heapIncreaseKey(A, i, key) を何か別の用途に使う場合があって、そのときに必要に
なるのならば納得しますが。
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
というのが、デバッグ用であるとは思えないのですが、これは一体何なんでしょうか?
heapIncreaseKey(A, i, key) を何か別の用途に使う場合があって、そのときに必要に
なるのならば納得しますが。
103デフォルトの名無しさん
2016/12/17(土) 19:31:29.47ID:GDWdcO6h >>101
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
という意味不明のコードも『アルゴリズムイントロダクション』のプログラムには
書いてあります。
こんな余計なコードは普通は入れないと思います。
完全にパクりだと思います。
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
という意味不明のコードも『アルゴリズムイントロダクション』のプログラムには
書いてあります。
こんな余計なコードは普通は入れないと思います。
完全にパクりだと思います。
104デフォルトの名無しさん
2016/12/17(土) 19:35:00.61ID:a9hyyPvt105デフォルトの名無しさん
2016/12/17(土) 19:35:29.11ID:GDWdcO6h 『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』の
他のプログラムもおそらくすべて『アルゴリズムイントロダクション』の
プログラムをそのまま使っています。
恥を知れと言いたいです。
他のプログラムもおそらくすべて『アルゴリズムイントロダクション』の
プログラムをそのまま使っています。
恥を知れと言いたいです。
106デフォルトの名無しさん
2016/12/17(土) 19:36:34.73ID:GDWdcO6h 参考文献に文献を挙げれば何でも許されるということはないと思いますが。
107デフォルトの名無しさん
2016/12/17(土) 19:39:42.80ID:GDWdcO6h 『アルゴリズムイントロダクション』のほうをよく読んでいませんが、
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
というのも『アルゴリズムイントロダクション』のほうでは意味があるのかもしれません。
それをそのまま何も考えずにコピペしたために、意味不明なことになっているのかも
しれません。
>>98
を見て、誰か納得のいく説明ができるでしょうか?
意味不明としか言えないかと思います。
「if key < A[i] エラー:新しいキーは現在のキーより小さい」
というのも『アルゴリズムイントロダクション』のほうでは意味があるのかもしれません。
それをそのまま何も考えずにコピペしたために、意味不明なことになっているのかも
しれません。
>>98
を見て、誰か納得のいく説明ができるでしょうか?
意味不明としか言えないかと思います。
108デフォルトの名無しさん
2016/12/17(土) 19:42:21.87ID:C/wQAZQ3 『アルゴリズムイントロダクション』のほうをよく読んでいませんが、
『アルゴリズムイントロダクション』のほうもまたどっか別の本からのパクリの悪寒。
『アルゴリズムイントロダクション』のほうもまたどっか別の本からのパクリの悪寒。
109デフォルトの名無しさん
2016/12/17(土) 19:47:48.93ID:YhK78PBA "error: heap underflow" でググるといっぱい出てくる
110デフォルトの名無しさん
2016/12/17(土) 19:57:50.69ID:rDdwnYMe ID:GDWdcO6h は何をそんなに怒ってるの?
問題が解けなくてイライラしてるだけ?
どんな本も参考文献があり、どんなアルゴリズム、データ構造も元をたどれば最初に「ヒープで実装すればうまく行くぞ!」と発見した人の論文があるはず
新しい本を書くときは参考文献よりもわかりやすくなるように、説明やイラスト、擬似コードを変えたり、あるいは同じものを流用することもあるだろう
問題が解けなくてイライラしてるだけ?
どんな本も参考文献があり、どんなアルゴリズム、データ構造も元をたどれば最初に「ヒープで実装すればうまく行くぞ!」と発見した人の論文があるはず
新しい本を書くときは参考文献よりもわかりやすくなるように、説明やイラスト、擬似コードを変えたり、あるいは同じものを流用することもあるだろう
111デフォルトの名無しさん
2016/12/17(土) 20:55:04.47ID:jmPH7DRp disるのがはやってるらしい
112デフォルトの名無しさん
2016/12/18(日) 00:45:20.51ID:aCKcGLhu プログラミングコンテスト攻略のための、
アルゴリズムとデータ構造、渡部有隆(わたのべ ゆたか)、2015
Ozy(協力), 秋葉 拓哉(協力)
Aizu Online Judge(AOJ、会津大学)
プログラミング・コンテスト・チャレンジブック、第2版、2012
秋葉 拓哉, 岩田 陽一, 北川 宜稔
元々は、3人の東大大学院生が作った、チャレンジブックが大ヒットした。
今までは、こういうコンテストの問題を研究した本が無かった
一方、すでに海外では、TopCoder, Google Code Jam などが、
プログラマーの主戦場となっていて、日本では、AOJ が後を追っている状態
渡部有隆の本は、チャレンジブックの後に出した。
協力に、秋葉 拓哉の名前もある
プログラマ脳を鍛える数学パズル
シンプルで高速なコードが書けるようになる70問、増井 敏克、2015
一方、増井は、Rubyで解く、このパズル本で、
「ITエンジニアに読んでほしい!技術書・ビジネス書 大賞(ITエンジニア本大賞)」を受賞している
アルゴリズムとデータ構造、渡部有隆(わたのべ ゆたか)、2015
Ozy(協力), 秋葉 拓哉(協力)
Aizu Online Judge(AOJ、会津大学)
プログラミング・コンテスト・チャレンジブック、第2版、2012
秋葉 拓哉, 岩田 陽一, 北川 宜稔
元々は、3人の東大大学院生が作った、チャレンジブックが大ヒットした。
今までは、こういうコンテストの問題を研究した本が無かった
一方、すでに海外では、TopCoder, Google Code Jam などが、
プログラマーの主戦場となっていて、日本では、AOJ が後を追っている状態
渡部有隆の本は、チャレンジブックの後に出した。
協力に、秋葉 拓哉の名前もある
プログラマ脳を鍛える数学パズル
シンプルで高速なコードが書けるようになる70問、増井 敏克、2015
一方、増井は、Rubyで解く、このパズル本で、
「ITエンジニアに読んでほしい!技術書・ビジネス書 大賞(ITエンジニア本大賞)」を受賞している
113デフォルトの名無しさん
2016/12/18(日) 00:49:54.79ID:VFzWAIXP めんどくさ
114デフォルトの名無しさん
2016/12/18(日) 01:14:58.25ID:aCKcGLhu 漏れも、JavaScriptで、2分ヒープ(BinaryHeap)を実装したので、参照して
http://jsdo.it/michihito/bGH5
2分ヒープは、優先度つきキュー (順位キュー、priority queue)や、
ダイクストラ法 (Dijkstra's Algorithm)で使う
配列の[0]は使わない。[1]から始めると計算が楽
親1, 左右の子は2, 3で、親n, 子2n, 2n+1
プログラミング・コンテスト・チャレンジブックでは、[0]から始めていますが、
もし[0]から始めると、
親0, 左右の子は1, 2で、
親1, 左右の子は3, 4で、
親n, 子2n+1, 2n+2、となり複雑だから
http://jsdo.it/michihito/bGH5
2分ヒープは、優先度つきキュー (順位キュー、priority queue)や、
ダイクストラ法 (Dijkstra's Algorithm)で使う
配列の[0]は使わない。[1]から始めると計算が楽
親1, 左右の子は2, 3で、親n, 子2n, 2n+1
プログラミング・コンテスト・チャレンジブックでは、[0]から始めていますが、
もし[0]から始めると、
親0, 左右の子は1, 2で、
親1, 左右の子は3, 4で、
親n, 子2n+1, 2n+2、となり複雑だから
115デフォルトの名無しさん
2016/12/18(日) 01:56:35.37ID:05Ug+E6t116デフォルトの名無しさん
2016/12/18(日) 02:12:34.14ID:KR24tnjc >>115
ド素人と丸出しの感想文だな
ド素人と丸出しの感想文だな
117114
2016/12/18(日) 04:57:12.61ID:aCKcGLhu すまぬ
JavaScriptも、よく知らずに書いたのだw
本当は、== ではなく、型も一致する厳密等価演算子、=== を使うべきだろう
まあ、JSなどで、とても開発はできない。
Haxe で書き直せばよいのだろうが
Kotlin, Electron やら何やら、最近の言語に、ついていけてないw
JavaScriptも、よく知らずに書いたのだw
本当は、== ではなく、型も一致する厳密等価演算子、=== を使うべきだろう
まあ、JSなどで、とても開発はできない。
Haxe で書き直せばよいのだろうが
Kotlin, Electron やら何やら、最近の言語に、ついていけてないw
118デフォルトの名無しさん
2016/12/18(日) 08:19:04.80ID:05Ug+E6t > 本当は、== ではなく、型も一致する厳密等価演算子、=== を使うべきだろう
そういうレベルじゃない。
無駄なロジック、意味不明な変数名、多すぎるコメント、
コードの意味を何一つ分かってないとしか思えないといってんの
そういうレベルじゃない。
無駄なロジック、意味不明な変数名、多すぎるコメント、
コードの意味を何一つ分かってないとしか思えないといってんの
119デフォルトの名無しさん
2016/12/18(日) 11:08:48.21ID:7J/3tpZx 俺はむしろここ
> このソースコードのライセンスは、MIT License です
> Original Copyright (c) 2014 Michihito Seto All Rights Reserved.
残飯を神棚に飾るが如く宣言
ここにこそ初心者らしさが凝縮されてる
> このソースコードのライセンスは、MIT License です
> Original Copyright (c) 2014 Michihito Seto All Rights Reserved.
残飯を神棚に飾るが如く宣言
ここにこそ初心者らしさが凝縮されてる
120デフォルトの名無しさん
2016/12/18(日) 11:50:21.36ID:5nrc1ooF121デフォルトの名無しさん
2016/12/18(日) 11:50:54.72ID:05Ug+E6t jsdo使ってるやつって汚いコードが多いよな。
素人が使いたくなる機能でもあんのか?
ブラウザだけで開発ができるとか?
素人が使いたくなる機能でもあんのか?
ブラウザだけで開発ができるとか?
122デフォルトの名無しさん
2016/12/18(日) 11:53:36.61ID:5nrc1ooF デバッグなど必要のないくらい簡単なコードなので、デバッグ用とは考えられないかと思います。
123デフォルトの名無しさん
2016/12/18(日) 11:57:14.52ID:0+9ctOie 馬鹿ほど自説に拘るw
124デフォルトの名無しさん
2016/12/18(日) 12:12:58.36ID:5nrc1ooF Introduction to AlgorithmsよりもAlgorithms(Sedgewick、赤い本)のほうがいい本ですね。
読んでいて楽しい。
読んでいて楽しい。
125デフォルトの名無しさん
2016/12/18(日) 12:18:23.69ID:5nrc1ooF 日本語のデータ構造とアルゴリズムの本だと、茨木の本が有名だけど、
どこがいいのかさっぱりわからない。
翻訳書ではない日本語の本でまともなのは、浅野孝夫の本くらいではないでしょうか?
どこがいいのかさっぱりわからない。
翻訳書ではない日本語の本でまともなのは、浅野孝夫の本くらいではないでしょうか?
126デフォルトの名無しさん
2016/12/18(日) 12:18:30.80ID:d5jVhhWj アルゴリズムやコードのライセンスってどの程度のものから付けていいんだ
あんまり簡単なものだと既出すぎてライセンス付けられるのか?って考えてしまう
かといってじゃあライセンス付けていい最低ラインは何なんだという話になる
あんまり簡単なものだと既出すぎてライセンス付けられるのか?って考えてしまう
かといってじゃあライセンス付けていい最低ラインは何なんだという話になる
127デフォルトの名無しさん
2016/12/18(日) 12:20:00.87ID:5nrc1ooF128デフォルトの名無しさん
2016/12/18(日) 12:30:54.60ID:RB5DyRP2 アルゴリズムには著作権ないよ
あるのはそれをどう表現したか
簡単なアルゴリズムには表現バリエーションなんて限られてるから
ある程度似るのはどうしようもない
あるのはそれをどう表現したか
簡単なアルゴリズムには表現バリエーションなんて限られてるから
ある程度似るのはどうしようもない
129デフォルトの名無しさん
2016/12/18(日) 12:37:57.44ID:5nrc1ooF 特許ならありますよね。
130デフォルトの名無しさん
2016/12/18(日) 13:02:47.44ID:PELrVlNw デザインパターンの本高い・・・
一冊持ってたけど引っ越しのごたごたでなくしちゃった
無料で網羅できるサイトありませんかね
一冊読んではあるので、さらっと構造や仕組みを紹介してくれていればいいし
英語もある程度は読めます
基本のデザインパターンだけでもありがたいし
マルチスレッド対応に踏み込んだサイトならなおありがたいです
一冊持ってたけど引っ越しのごたごたでなくしちゃった
無料で網羅できるサイトありませんかね
一冊読んではあるので、さらっと構造や仕組みを紹介してくれていればいいし
英語もある程度は読めます
基本のデザインパターンだけでもありがたいし
マルチスレッド対応に踏み込んだサイトならなおありがたいです
131デフォルトの名無しさん
2016/12/18(日) 13:22:26.46ID:d5jVhhWj 基本的な考え方覚えたら幾らでも応用できるだろ
カタログを後生大事にとっておく意味はない
カタログを後生大事にとっておく意味はない
132デフォルトの名無しさん
2016/12/18(日) 13:35:15.82ID:PELrVlNw 覚えてないんすよ
記憶力ないんで忘れちゃって、ぼんやりとしか覚えてないんです
だから概要をしっかり覚え直したいなと思って
記憶力ないんで忘れちゃって、ぼんやりとしか覚えてないんです
だから概要をしっかり覚え直したいなと思って
133デフォルトの名無しさん
2016/12/18(日) 13:42:55.97ID:+dKTlaSP134デフォルトの名無しさん
2016/12/18(日) 13:45:05.00ID:RB5DyRP2 リファレンスとしてはどの本がいい?
135デフォルトの名無しさん
2016/12/18(日) 13:45:12.43ID:5nrc1ooF ソフトウェア工学的な本って重要なんですか?
136デフォルトの名無しさん
2016/12/18(日) 13:45:59.00ID:5nrc1ooF 学問的には全く面白くない分野ですよね。
137デフォルトの名無しさん
2016/12/18(日) 14:08:17.53ID:PELrVlNw TECHSCOREのデザインパターンのページ見ることで自己解決しました
138デフォルトの名無しさん
2016/12/18(日) 15:45:37.97ID:VFzWAIXP デザパタカタログは便利だよね
煮詰まったときに、休憩がてらパターンを眺めてると、閃くときがある
煮詰まったときに、休憩がてらパターンを眺めてると、閃くときがある
139デフォルトの名無しさん
2016/12/18(日) 16:24:54.12ID:+Ko1jSRc ねーわ、普通のコードが99.99%
140デフォルトの名無しさん
2016/12/18(日) 18:22:27.13ID:d5jVhhWj 基本的な発想を学んだらカタログはポイ
パターンに執着してもデザインがぎこちなくなるだけ
パターンに執着してもデザインがぎこちなくなるだけ
141114
2016/12/18(日) 23:03:56.86ID:aCKcGLhu >>119
jsdo.it では、全員のソースコードが、サイト内に限り、MITになる
漏れが、わざわざ、MITと書いておいたのは、サイト外でも使ってほしいという意味。
学生が勉強することも多いから、コメントも一杯書いた
2分ヒープ、AVL、赤黒木など、アルゴリズムの実装は、どうしても汚いソースコードになる
jsdo.it では、全員のソースコードが、サイト内に限り、MITになる
漏れが、わざわざ、MITと書いておいたのは、サイト外でも使ってほしいという意味。
学生が勉強することも多いから、コメントも一杯書いた
2分ヒープ、AVL、赤黒木など、アルゴリズムの実装は、どうしても汚いソースコードになる
142デフォルトの名無しさん
2016/12/18(日) 23:11:13.26ID:f3M2Oqre 糞
143デフォルトの名無しさん
2016/12/18(日) 23:11:21.17ID:5nrc1ooF 2分ヒープって簡単なアルゴリズムですよね。
汚くなりようがないように思うのですが。
汚くなりようがないように思うのですが。
144デフォルトの名無しさん
2016/12/18(日) 23:12:19.64ID:5nrc1ooF 計算幾何学って難しい割に見返りが少ないように思います。
だからあんまり人気がないのかもしれないですね。
だからあんまり人気がないのかもしれないですね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 石井ちゃんです!
- 職場の俺のあだ名がブロリーなんだが
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- お前らは“スカイマイルタワー”建設計画を知っているか?
- これ誰か分かるか?
- 万引きJC「すいません許してください!何でもしますから!」←どうする?
