このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
データ構造,アルゴリズム,デザインパターン総合スレ 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/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 計算幾何学って難しい割に見返りが少ないように思います。
だからあんまり人気がないのかもしれないですね。
だからあんまり人気がないのかもしれないですね。
145デフォルトの名無しさん
2016/12/19(月) 00:01:07.57ID:hSWjQy3F 漏れw
146デフォルトの名無しさん
2016/12/19(月) 01:06:56.52ID:8cVREo5r 流石に漏れは笑う
147デフォルトの名無しさん
2016/12/19(月) 08:08:43.72ID:judB9f5Y >>144
全体的なリテラシの底上げがされるまではどうしてもね。
全体的なリテラシの底上げがされるまではどうしてもね。
148デフォルトの名無しさん
2016/12/19(月) 12:42:11.26ID:z9XVuDpo149デフォルトの名無しさん
2016/12/19(月) 17:37:02.75ID:ic0p/3Yf 長さnの整数からなる列(a_1 ,a_2, ..., a_n) があるとして、列の大きさを
|a_1|+...+|a_n|で定義します。、
大きさがmの任意の列を大きさm-1の列の中の一つの値だけ1違う
列一つに対応させたいんですけど
対応のさせ方がわかりません、教えてください。
例えば n=3のとき(1, -1, 1)は大きさが3で、これに対応する長さ2の列は
(0 ,-1 ,1), (1,0,1),(1,-1,1),(1,-1,0)とかあるので一つには定まってません。
なのでその対応をする関数をおしえてください。
|a_1|+...+|a_n|で定義します。、
大きさがmの任意の列を大きさm-1の列の中の一つの値だけ1違う
列一つに対応させたいんですけど
対応のさせ方がわかりません、教えてください。
例えば n=3のとき(1, -1, 1)は大きさが3で、これに対応する長さ2の列は
(0 ,-1 ,1), (1,0,1),(1,-1,1),(1,-1,0)とかあるので一つには定まってません。
なのでその対応をする関数をおしえてください。
150間違ってたので直します
2016/12/19(月) 17:39:59.34ID:ic0p/3Yf 長さnの整数からなる列(a_1 ,a_2, ..., a_n) があるとして、列の大きさを
|a_1|+...+|a_n|で定義します。、
大きさがmの任意の列を大きさm-1の列の中の一つの値だけ1違う
列一つに対応させたいんですけど
対応のさせ方がわかりません、教えてください。
例えば n=3のとき(1, -1, 1)は大きさが3で、これに対応する大きさ2の列は
(0 ,-1 ,1), (1,0,1),(1,-1,0)とかあるので一つには定まってません。
なのでその対応をする関数をおしえてください。
|a_1|+...+|a_n|で定義します。、
大きさがmの任意の列を大きさm-1の列の中の一つの値だけ1違う
列一つに対応させたいんですけど
対応のさせ方がわかりません、教えてください。
例えば n=3のとき(1, -1, 1)は大きさが3で、これに対応する大きさ2の列は
(0 ,-1 ,1), (1,0,1),(1,-1,0)とかあるので一つには定まってません。
なのでその対応をする関数をおしえてください。
151デフォルトの名無しさん
2016/12/19(月) 17:48:27.12ID:z9XVuDpo (1,-1,1)の長さが2?
152デフォルトの名無しさん
2016/12/19(月) 17:53:09.70ID:yHCszZUX >なのでその対応をする関数をおしえてください。
意味不明です。
意味不明です。
153デフォルトの名無しさん
2016/12/19(月) 17:55:40.11ID:yHCszZUX (a_1, a_2, ..., a_i, ..., a_n)
a_i > 0 のときには、
(a_1, a_2, ..., a_i-1, ..., a_n)
a_i < 0 のときには、
(a_1, a_2, ..., a_i+1, ..., a_n)
a_i = 0 のときには、
(a_1, a_2, ..., a_i±1, ..., a_n)
を返せばいいのでは?
a_i > 0 のときには、
(a_1, a_2, ..., a_i-1, ..., a_n)
a_i < 0 のときには、
(a_1, a_2, ..., a_i+1, ..., a_n)
a_i = 0 のときには、
(a_1, a_2, ..., a_i±1, ..., a_n)
を返せばいいのでは?
154デフォルトの名無しさん
2016/12/19(月) 17:57:14.37ID:yHCszZUX (a_1, a_2, ..., a_i, ..., a_n)
a_i > 0 のときには、
(a_1, a_2, ..., a_i-1, ..., a_n)
a_i < 0 のときには、
(a_1, a_2, ..., a_i+1, ..., a_n)
を返せばいいのでは?
a_i = 0 のときには、条件を満たす列は存在しないね。
a_i > 0 のときには、
(a_1, a_2, ..., a_i-1, ..., a_n)
a_i < 0 のときには、
(a_1, a_2, ..., a_i+1, ..., a_n)
を返せばいいのでは?
a_i = 0 のときには、条件を満たす列は存在しないね。
155デフォルトの名無しさん
2016/12/19(月) 17:58:07.65ID:yHCszZUX156デフォルトの名無しさん
2016/12/19(月) 17:58:17.41ID:hSWjQy3F >>149
列の最初の数字だけ1足すなり引くなりして返せばいいだけじゃないの?
列の最初の数字だけ1足すなり引くなりして返せばいいだけじゃないの?
157デフォルトの名無しさん
2016/12/19(月) 18:01:17.72ID:yHCszZUX >例えば n=3のとき(1, -1, 1)は大きさが3で、これに対応する大きさ2の列は
>(0 ,-1 ,1), (1,0,1),(1,-1,0)とかあるので一つには定まってません。
>なのでその対応をする関数をおしえてください。
一つに定まらないから、すべての結果を返したいのか、
任意の一つの結果を返したいのか?
>(0 ,-1 ,1), (1,0,1),(1,-1,0)とかあるので一つには定まってません。
>なのでその対応をする関数をおしえてください。
一つに定まらないから、すべての結果を返したいのか、
任意の一つの結果を返したいのか?
158デフォルトの名無しさん
2016/12/19(月) 18:02:09.41ID:yHCszZUX 明らかに、
(0, 0, ..., 0) に対しては条件を満たす結果は存在しないね。
(0, 0, ..., 0) に対しては条件を満たす結果は存在しないね。
159デフォルトの名無しさん
2016/12/19(月) 18:50:37.10ID:ic0p/3Yf 0はスタート地点なので
160デフォルトの名無しさん
2016/12/19(月) 18:57:02.98ID:ic0p/3Yf161デフォルトの名無しさん
2016/12/19(月) 19:06:19.22ID:ic0p/3Yf162デフォルトの名無しさん
2016/12/19(月) 19:13:51.38ID:ic0p/3Yf163デフォルトの名無しさん
2016/12/19(月) 19:16:05.63ID:hSWjQy3F >>161
問題文を鸚鵡返しするんじゃなくて、質問者の質問に答えたら?
問題文を鸚鵡返しするんじゃなくて、質問者の質問に答えたら?
164デフォルトの名無しさん
2016/12/19(月) 19:23:49.64ID:ic0p/3Yf >>163
fの出力は列の集合じゃないから普通わかりますよね
fの出力は列の集合じゃないから普通わかりますよね
165デフォルトの名無しさん
2016/12/19(月) 19:31:58.40ID:hSWjQy3F >>164
fが返すのは集合じゃないってのはどこに書いてある?
fが返すのは集合じゃないってのはどこに書いてある?
166デフォルトの名無しさん
2016/12/19(月) 19:34:42.99ID:ic0p/3Yf >>165
14行上に書いてあります
14行上に書いてあります
167デフォルトの名無しさん
2016/12/19(月) 19:47:31.40ID:hSWjQy3F168デフォルトの名無しさん
2016/12/19(月) 20:02:25.40ID:ic0p/3Yf 改行コードの数を数えてますか?
文の折り返しと改行とは違いますよ?
文の折り返しと改行とは違いますよ?
169デフォルトの名無しさん
2016/12/19(月) 20:17:02.98ID:2q/Y95iw こりゃまたひどい質問者だな
170デフォルトの名無しさん
2016/12/19(月) 20:18:06.39ID:Xx/umGft 課題の丸投げ、しかも「日本語」が
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★2 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★3 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
