データ構造,アルゴリズム,デザインパターン総合スレ 2
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/03/03(日) 18:10:11.633Dアルゴリズム全般
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
0002デフォルトの名無しさん
2013/03/03(日) 19:34:43.55言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0003デフォルトの名無しさん
2013/03/04(月) 06:52:01.19アイ死ねw
0004デフォルトの名無しさん
2013/03/04(月) 09:31:25.12思っているのは私だけか。
0005デフォルトの名無しさん
2013/03/04(月) 18:21:16.780006デフォルトの名無しさん
2013/03/16(土) 20:52:01.530007デフォルトの名無しさん
2013/03/30(土) 15:13:18.010008デフォルトの名無しさん
2013/03/31(日) 03:27:52.920009デフォルトの名無しさん
2013/03/31(日) 04:39:38.510010デフォルトの名無しさん
2013/03/31(日) 04:58:49.370011デフォルトの名無しさん
2013/03/31(日) 09:18:18.510012デフォルトの名無しさん
2013/03/31(日) 11:39:20.44デザパタは工学
アルゴリズムは技術
デザパタは技能
アルゴリズムは理論
デザパタは療法
どれにしようか迷ったけど面倒だから全部書いた
0013デフォルトの名無しさん
2013/03/31(日) 11:57:47.660014デフォルトの名無しさん
2013/03/31(日) 11:59:52.01言語側の表現能力が低いために出来ず、結果として
似たパターンを繰り返し書く羽目になったパターンのカタログ集
0015デフォルトの名無しさん
2013/03/31(日) 14:04:01.24現に、Javaなんかでは、singltonとかメンドクサイ事が必要だけど、C#とかでは、何のことも無かったりするし。
0016デフォルトの名無しさん
2013/03/31(日) 16:06:37.44パターンの実装をごっちゃにしてるだろ。
アルゴリズムで言えば、C言語だとバブルソートは面倒くさい処理が必要だけど、
ある言語なら、bubble_sort関数呼ぶだけで済むしって言ってるようなもんだろ。
0017デフォルトの名無しさん
2013/03/31(日) 16:07:29.79データ構造とアルゴリズムを合わせたようなものだと思う。
0018デフォルトの名無しさん
2013/03/31(日) 18:44:57.28と昔から決まっておるのじゃ
0019デフォルトの名無しさん
2013/03/31(日) 19:19:48.54ウザウザw
0020デフォルトの名無しさん
2013/03/31(日) 20:12:11.44全然違う
なぜならC言語でもバブルソートは関数として抽象化できるから
一度書いたら何度も繰り返し書く必要は無い
0021デフォルトの名無しさん
2013/03/31(日) 20:18:39.62クロージャがある言語なら、ただ単にクロージャを渡すだけの普通のコードで、
名前を付ける必要すら感じない
どっかのゴミ言語ではこんな感じになってしまうが
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:StrategyPatternClassDiagram.svg
0022デフォルトの名無しさん
2013/03/31(日) 20:28:53.41別のパターンはそうとは限らないだろ。
一つを語って、全てが無意味だとなんで思った?
0023デフォルトの名無しさん
2013/03/31(日) 20:34:45.76それ、クロージャがある言語でも大差ないと思う。
関数が第一級の言語だと、クラス図として関数も扱わないといけないはず。
で、クラス図に対応する、関数図は関数のシグネチャ。
明示的には継承とは書かないけど、決まった関数のシグネチャを継承した(同じに合わせた)
関数を作るから
[Strategy]
↑
[ConcreateStrategyA]
の代わりに、
[引数一つの関数]
↑
[実装関数]
こうなってるだけじゃないかな。
0024デフォルトの名無しさん
2013/03/31(日) 20:51:21.460025デフォルトの名無しさん
2013/04/01(月) 01:52:30.36定本 Cプログラマのためのアルゴリズムとデータ構造 近藤嘉雪著
この本もわかりやすいお
0026デフォルトの名無しさん
2013/04/01(月) 11:56:57.56http://www.ouj.ac.jp/hp/kamoku/H25/kyouyou/B/joho/s_1570048.html
0027デフォルトの名無しさん
2013/04/02(火) 07:33:33.680028デフォルトの名無しさん
2013/04/03(水) 07:33:59.540029デフォルトの名無しさん
2013/04/19(金) 21:42:39.55Mementoパターンなるものをwikiで調べたんですが、Wordとかの大きな文書だと、
一つのstateのデータ量が多すぎて、すぐにメモリが足りなくなって破綻しそうな気がするんですが・・・
http://ja.wikipedia.org/wiki/Memento_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
0030デフォルトの名無しさん
2013/04/19(金) 21:48:42.390031デフォルトの名無しさん
2013/04/19(金) 21:58:43.00そこいらは腕の見せ所だから色々な実装がある。と言うのが
普通の答えだと思いまする。
結果データではなく、verbとパラメーターをリング状に記憶
させるという実装はしたことがある
0032デフォルトの名無しさん
2013/04/19(金) 23:38:59.62Undo時に動作Δを呼び出す。
0033デフォルトの名無しさん
2013/04/20(土) 01:34:18.08数十キロしかないだろ?
0034デフォルトの名無しさん
2013/04/20(土) 07:13:11.67バカ共がまた知識ぶって騒いでやがるw
死ねゴミクズw
0035デフォルトの名無しさん
2013/04/20(土) 10:00:25.18作業途中の状態保存にも使えて便利。
0036デフォルトの名無しさん
2013/04/20(土) 10:54:34.60とか思い付いたけどどうよ?
0037デフォルトの名無しさん
2013/04/20(土) 12:19:10.51アホの極み
0038デフォルトの名無しさん
2013/04/30(火) 22:53:00.600039デフォルトの名無しさん
2013/05/21(火) 00:35:42.34UndoでMementoってのは、実は多くの場面で使いにくいんじゃないかなーって思ってる
Adobeのアンドゥは無限回じゃないけど、あれはこのパターン使ってるのかな
0040デフォルトの名無しさん
2013/06/09(日) 19:06:14.70whileループの最後の i++; j--; はなぜ必要なんですか?
http://ja.wikipedia.prg/wiki/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88#.E5.AE.9F.E8.A3.85.E4.BE.8B.EF.BC.91
全角.はリンク禁止回避
0041桃白白 ◆9Jro6YFwm650
2013/06/09(日) 19:26:26.73i++; j--;がないと仮定すると
a[i]がpivotと同じ値だったらiが進まない。
a[j]がpivotと同じ値だったらjが進まない。
効率が悪い、無限ループになる恐れがある。
なので、i++; j--;は無限ループを回避するために必要であるか、
または、効率を良くするために必要なのである。桃白白はそう思うのである。
0042デフォルトの名無しさん
2013/06/09(日) 19:48:02.690043デフォルトの名無しさん
2013/06/10(月) 09:15:30.73さっさと死ねw
0044デフォルトの名無しさん
2013/09/18(水) 13:39:49.18Narasimha Karumanchi (著), 黒川 利明 (翻訳), 木下 哲也 (翻訳)
この本はおすすめですか?
http://www.amazon.co.jp/dp/4873116341
0045デフォルトの名無しさん
2013/09/18(水) 14:11:03.230046デフォルトの名無しさん
2013/09/18(水) 19:27:36.43・・・w
0047デフォルトの名無しさん
2013/09/18(水) 23:07:49.85なんで売れているの?
0048デフォルトの名無しさん
2013/09/21(土) 16:31:47.200049デフォルトの名無しさん
2013/09/21(土) 16:58:27.850050デフォルトの名無しさん
2013/09/22(日) 10:28:15.100051デフォルトの名無しさん
2013/09/22(日) 20:22:12.39見た目がいいってどういうこと?
0052デフォルトの名無しさん
2013/09/22(日) 20:24:16.43載っていないんだね。だめだめ。
0053デフォルトの名無しさん
2013/09/22(日) 20:25:25.63プログラムが読みにくいし。
やっぱりクヌースの本が一番いいのかな。
0054デフォルトの名無しさん
2013/09/22(日) 20:27:01.59その本、クイックソートのプログラムが間違っているよね。
0055デフォルトの名無しさん
2013/09/22(日) 21:23:03.07そもそも売れてるの?
0056デフォルトの名無しさん
2013/09/22(日) 22:06:44.180057デフォルトの名無しさん
2013/09/22(日) 22:11:29.25たとえば、アルゴリズムの本のランキングを見るとどう見ても売れていない
ような絶版の中古本がランクインしていたりする。
0058デフォルトの名無しさん
2013/09/22(日) 22:14:08.270059デフォルトの名無しさん
2013/09/22(日) 22:16:07.27なんなの望洋ってw
0060デフォルトの名無しさん
2013/09/22(日) 22:17:15.56どのコース?
0061デフォルトの名無しさん
2013/09/22(日) 22:17:59.43講義系のテキストは却下だな
0062デフォルトの名無しさん
2013/09/22(日) 22:29:45.56分かります。見ている(見た)人がいたら質問とか今後すると思うのでお願いします。
Pythonによるプログラミングの入門の講義。レベルが低い。
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/
コンピューターサイエンスのための数学。レイトン教授が最高に面白い。
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/
まだ見てないけど、和田英一が訳した有名な教科書の著者の講義。まだ見ていない。
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/
アルゴリズム入門2005年。まだ見ていない。リベストらの有名なアルゴリズムの教科書の著者が講義。
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/
アルゴリズム入門2011年
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/
0063デフォルトの名無しさん
2013/09/22(日) 22:49:56.98アルゴリズムの講義なら Coursera や Udacity あたりに新しいのがいっぱいあるぞ。セジウィックが講義してるのもあるし。
https://www.coursera.org/courses?orderby=upcoming&search=algorithms
そういう自分も Coursera の前は>>62の最後のコースでアルゴリズム勉強したわ。
古いからちょっと画面が小さいんだよねー。
0064デフォルトの名無しさん
2013/09/22(日) 22:54:12.17情報ありがとうございます。そっちも視野に入れたいと思います。
0065デフォルトの名無しさん
2013/09/26(木) 13:01:06.57死ねゴミ共がw
0066デフォルトの名無しさん
2013/09/28(土) 06:46:14.59説明もほとんどなしにコードと問題が載っているだけ。
買ってはいけない。
0067デフォルトの名無しさん
2013/09/28(土) 16:59:53.64コードと問題が説明になっているのだろう。
0068デフォルトの名無しさん
2013/09/28(土) 17:57:20.080069デフォルトの名無しさん
2013/09/28(土) 18:16:31.350070デフォルトの名無しさん
2013/09/28(土) 18:28:54.24そうでなければ趣味
0071デフォルトの名無しさん
2013/09/29(日) 12:57:58.61中身がどうなっているかどうか知っていようといまいと生産性は変わらない。
ただ中身を知っていると、何かトラブルが起きたり、
それらを組み合わせて新しいことを覚えなくてはいけないときに差が出てくる。
が、今時はそういうことはかなり稀なので、機械的に覚えてしまって、
さっさと人を使う立場になってしまう方が悩まなくていいかも。
0072デフォルトの名無しさん
2013/09/29(日) 15:55:56.14トンチンカンなこと言ってるぞ? ライブラリレベルまで落とし込まれているような
アルゴリズムならともかく、デザインパターンは公式的に覚えて使えるもんじゃ
ないぞ。中身の実装方法はともかく、GoFのデザインパターンですら、複数
組み合わせて使うのが普通なのに。
0073デフォルトの名無しさん
2013/09/29(日) 15:59:49.30俺ってやさしい
0074デフォルトの名無しさん
2013/10/02(水) 01:48:18.78君、アマゾンのレビューを書いた人?
星一つしかついてなかったw
0075デフォルトの名無しさん
2013/10/02(水) 06:46:43.90内容は時間的/空間的計算量という評価に徹してデータ構造とその読み出し方を
解説したもので、むしろ優れた本だと思う。
0076デフォルトの名無しさん
2013/10/02(水) 08:06:05.95普通の大学で使うような教科書のほうがいいと思う。
エイホ・ホップクロフト・ウルマンのアルゴリズムとデータ構造とか
MITの教科書とか。
0077デフォルトの名無しさん
2013/10/02(水) 08:33:04.43はずれがない
0078デフォルトの名無しさん
2013/10/02(水) 09:11:06.55クヌースの本はプログラマ必読の書らしいけど
0079デフォルトの名無しさん
2013/10/02(水) 11:01:55.61全部読むのは難しいんじゃないですか?
アルゴリズムの解析の部分は難しいし、実益が少ない。
アルゴリズムの手順だけ読むくらいでいいのでは?
あと新しいアルゴリズムが書かれていないらしい。
0080デフォルトの名無しさん
2013/10/02(水) 11:55:09.130081デフォルトの名無しさん
2013/10/02(水) 19:03:31.81読むか読まないかなら、もちろん読んだ方がいいが
>>79
新しいアルゴリズムは論文読むしか
0082デフォルトの名無しさん
2013/10/03(木) 10:30:06.56ゼパーン ニナーテ ルヨーネ
シカータ ナイカーラ エイーゴ
デヨンデール
0083デフォルトの名無しさん
2013/10/03(木) 14:33:48.67ところで新しいアルゴリズムてどんなの?
遺伝とかならいらないけど
0084デフォルトの名無しさん
2013/10/03(木) 19:57:54.46すみません。よく知りません。
擬似乱数を生成するメルセンヌツイスターが載っていないって、
考案者が文句言っていたのは知っています。
0085デフォルトの名無しさん
2013/10/03(木) 20:17:33.09というかThe Art of Computer Programming自体が完成しないか。
既刊の第4巻はおもしろそう。
0086デフォルトの名無しさん
2013/10/04(金) 09:08:51.46無駄にめんどくさいね。
群とか環とか使えば良いのにっておもうよ。
0087デフォルトの名無しさん
2013/10/04(金) 09:12:18.810088デフォルトの名無しさん
2013/10/07(月) 09:07:45.97あの膨大な本の中の、たった一つのテーマだからね。
0089デフォルトの名無しさん
2013/10/07(月) 20:33:21.18サブクラスからサブクラスを呼ぶときに、スーパークラスを無視した以下の書き方はオブジェクト思考的には違反でしょうか?
void AppDerived::method(){
(static_cast<DetailDerived*>(ptr))->func();
}
スーパークラス(AppBase)のヘッダにmethod()を追加したり、なるべくさわりたくないので上記の方法を思いつきました。
クラスの繋がりは以下の通りです。
class AppBase{
DetailBase* ptr;
}
AppBase ◆− DetailBase
AppBaseとDetailBaseはコンポジット関係です。
class AppDerived : public AppBase{
void method()
}
class DetailDerived : public DetailBase{
void func()
}
009089
2013/10/07(月) 23:01:02.14void AppDerived::method(){
ptr->func();
}
class DetailBase{
virtual void func(){ return; }
}
上記の方法を避けたいための方法です。
0091デフォルトの名無しさん
2013/10/07(月) 23:12:12.86>オブジェクト思考的
は関係ないね,、C++の実装としてだろう
0092デフォルトの名無しさん
2013/10/08(火) 00:52:45.41その派生クラス同士の関係性によってはアリな場合もあるんだけど、 一般的には無しだね。
基底クラスを触りたくないからと言うのは全く理由にならないと思うよ。
0093デフォルトの名無しさん
2013/10/08(火) 10:05:07.76AppBaseがコンポジションするDetailBaseはPublicやProtectedってことでしょ?
それなら派生クラスから弄られることを想定しているってことになるから
AppDerivedのMethod()で新しくDetailDerivedを保持し直したらいいんじゃないの?
Privateなら基底クラスでしかDetailBaseを弄らないのだから
AppDerivedのMethod()内でのみ使用するためにDetailDerivedのインスタンス生成すりゃいいんじゃないの?
>>90の方法を避けたいってのは、AppBaseがDetailBaseをコンポジションしてポリモーフィズムするのを
否定しちゃってんじゃないの?コンポジションしている意味が無くならない?
0094デフォルトの名無しさん
2013/10/09(水) 18:19:09.590095デフォルトの名無しさん
2013/10/10(木) 07:27:16.170096デフォルトの名無しさん
2013/10/10(木) 07:54:38.650097デフォルトの名無しさん
2013/10/10(木) 08:38:38.270098デフォルトの名無しさん
2013/10/10(木) 18:02:10.650099デフォルトの名無しさん
2013/10/12(土) 18:05:18.38死ねゴミ共がw
0100デフォルトの名無しさん
2013/10/12(土) 21:43:22.300101デフォルトの名無しさん
2013/10/13(日) 14:04:12.97Bの順序を満たし、かつAから「変化が少ない」順序列Cを得たい。
A: [ 1 2 3 4 5 ]
B: [ 4 3 ]
C: [ 1 2 4 3 5 ]
「変化が少ない」の基準は必ずしも特定しないが、一例として「各要素の
移動距離の二乗和が小さい」などが考えられる。
ここで、近似解でよいので計算量の少ないアルゴリズムが欲しいのですが、
使えそうなアルゴリズムがあったら、ググるキーワードを教えてください。
0102デフォルトの名無しさん
2013/10/13(日) 14:24:30.970103デフォルトの名無しさん
2013/10/13(日) 14:29:12.64> 「変化が少ない」の基準は必ずしも特定しないが、一例として「各要素の
> 移動距離の二乗和が小さい」などが考えられる。
これに激しく違和感を感じるけど、
> ここで、近似解でよいので計算量の少ないアルゴリズムが欲しいのですが、
近似解でいいならGAが楽じゃね?
0104デフォルトの名無しさん
2013/10/13(日) 15:28:06.54……だと変化が大きいのかもしれないのか
0105101
2013/10/13(日) 16:04:56.10重複はない前提です。
>>103
その基準のところも、なにか使えそうなものがあれば調べてみたいと思いますが。
ところで、どういうところで違和感を感じるでしょう?
>>104
Bの並びによっては団子になってしまいそうですが、確かに計算量は非常に
少なそうですね。
0106デフォルトの名無しさん
2013/10/13(日) 16:45:07.14順列と最小二乗って、同じ目的で使って嬉しくなる数学的根拠があるのかな、と思って。
置換の数で距離を測るのが一般的かな?とか。
感覚的な意見で申し訳ないけど。
0107デフォルトの名無しさん
2013/10/13(日) 17:11:59.64ペナルティは増大するほうがいいのかなと。
ただまぁ、ひとつの要素が移動すればその距離に応じて他の要素もずれるわけなんで、
移動距離の総和とかあるいは単純に移動した要素の数でもいいかもしれないですね。
順序の距離とか順列間の距離とかで探したらいくつか距離の定義が見つかりました。
0108デフォルトの名無しさん
2013/10/14(月) 09:57:46.640109デフォルトの名無しさん
2013/10/14(月) 10:21:17.600110デフォルトの名無しさん
2013/11/03(日) 22:41:37.520111デフォルトの名無しさん
2013/11/18(月) 20:09:19.22ランダムに選んだm (< n) 個の要素のみ値を1にした配列を作りたいです。
次の方法を考えました。
1. 先頭からm個の要素の値を1に、残りの要素の値を0にした配列を用意する。
2. その配列に対して Fisher-Yates shuffle を施す。
これよりも実行速度において効率的な方法はあるでしょうか。
(並列化を利用して効率よくする方法もアリです)
ただ、できるだけ偏りは無くしたいです。
0112デフォルトの名無しさん
2013/11/18(月) 20:13:31.200113デフォルトの名無しさん
2013/11/18(月) 20:56:55.33n は 1000000 くらい
m は 1000 log 1000 くらいなので、だいたい 7000 弱程度です
0114デフォルトの名無しさん
2013/11/18(月) 20:59:21.680115デフォルトの名無しさん
2013/11/18(月) 21:24:13.39もっと巨大な配列なら、より効率的な方法があるのでしょうか。
どんな方法か知りたいです。
0116デフォルトの名無しさん
2013/11/18(月) 22:58:36.70くじ引きと同じ論法でO(N)で作れるだろ
0117デフォルトの名無しさん
2013/11/19(火) 07:10:30.69それって、1000000個の重複のない数列から7000個を取り出すんだろ?
重複のないくじを作るのに結局シャッフルがいるんじゃないのか?
だったら、やってることは>>111と同じだと思うが
というか、>>111だってシャッフルはO(N)なんだから、
そもそも質問の意図もよう分からんが
0118デフォルトの名無しさん
2013/11/19(火) 07:44:36.62シャッフルは要らない。n本のくじの中にm本の当たりがある場合と同じ。
それを配列番号1からn番まで引く。くじ引きは何番目に引こうが当たりが出る確率は等確率。
>>111も確かにO(N)だな。ソートと勘違いしてた。
だけどくじ方式の場合は逐一頭から取り出す場合は配列を用意する必要はないし、
必要な分だけ計算すればいい。
int array[n];
for (size_t i=0; i<n; ++i) {
bool hit = m/(n-i)の確率のrand;
if (hit) {
--m;
array[i] = 1;
} else {
array[i] = 0;
}
}
0119デフォルトの名無しさん
2013/11/19(火) 13:06:53.22すなわち、1が連続したり、なかなか出なかったりするのを無くすということ。
だったら乱数を使うのは誤り。
0120デフォルトの名無しさん
2013/11/19(火) 20:29:44.62すごいですね、その発想は出てこなかったです。
簡単な例で図を描いて確かめてみましたが、みんな当たる確率は同じになりました。
Fisher-Yates shuffle でやるより断然スジがいいです。
採用させてもらいます。
>>119
たしかに、1 や 0 があまりに連続しているの好ましくないです。
その場合、乱数を使わずにどうやるのでしょうか。
1 か o かを選ぶのに乱数を使うのではなく、もっと別のところで使うという意味でしょうか。
それとも、全くどこにも使わないのでしょうか。
0121デフォルトの名無しさん
2013/11/19(火) 21:16:46.95乱数から低周波成分を除去した数列を使います。別名ブルーノイズ。
配列を参照するだけなので超高速で偏りの無いパターンを作ることができる。
100万個から7000個を選んでも1が連続する確率は0。規則性もなし。
ブルーノイズ数列の一部をとってもブルーノイズ数列。使い回しができる。
欠点として1回はブルーノイズ数列を作る必要があるが時間がかかる。100万個
の数列だと1時間くらいかかる。一回作ってファイルに保存しておけばOK。
0122デフォルトの名無しさん
2013/11/19(火) 21:23:07.46不思議に思ったんだがひょっとして
配列の全要素の初期値って不定扱いなのか?
なら>>118を採用する理由もわかるが
0123デフォルトの名無しさん
2013/11/19(火) 22:01:24.83で気づいたけど、1 か 0 しか入らないなら bool 型でいいんじゃないか?メモリもグッと節約できる。
0124デフォルトの名無しさん
2013/11/19(火) 22:12:20.58いえ、今回は、必ず何らかの値で初期化される、という種類のデータ構造(配列)を使っています。
(言語的は初期値として未定を表す値を指定できる配列も簡単に作れますが、
今回は意味ないので、そのような配列は使っていません)
>>118を採用しようと思ったのは、配列の頭から順に要素をトラバースしながら、
その要素のみを参照して値を設定していけるという点がシャッフルに比べて優れていると思ったからです。
要するに、データ構造そのものをどんどん大きくしながら作っていけます。
シャッフルも Fisher-Yates shuffle でしたら順にトラバースしますが、
その要素と、別のランダムに選んだ要素を参照しなければならず、
シャッフル処理をする前にデータ構造が完全に出来上がっていなければなりません。
その上で要素をスワップしていきます。
じつはプログラミング言語はCではなくHaskellを使っており、Haskellでは後者より前者のように、
値を入れた要素を次々と繋げながらデータ構造を(目的の規模まで)大きくしていく方が
プログラムしやすいんです。
>>123
すいません、0 と 1 を使ったのは単に質問をシンプルにするためでした。
本当は、質問で 1 を入れるところでは min < x < max のランダムな浮動小数点を入れます。
そもそもの目的をぶっちゃけますと、ランダムな重み付き有向グラフの隣接行列を作ることです。
0125デフォルトの名無しさん
2013/11/19(火) 22:14:23.54> >>118を採用しようと思ったのは、配列の頭から順に要素をトラバースしながら、
> その要素のみを参照して値を設定していけるという点がシャッフルに比べて優れていると思ったからです。
すいません、ちょっと言い方がおかしいですね。
配列の頭から順に要素をトラバースしながら、ではなくて、順に配列を大きくしながら、
とか、配列を組み上げながらと言うべきでした。
0126デフォルトの名無しさん
2013/11/19(火) 22:23:35.67申し訳ないです、そこまで強力なものは今回は求めていないです。
あまりに偏りすぎていると使えないな、という程度のことでした。
しかし、これはこれで大変興味深いです。
ホワイトノイズやピンクノイズなどは聞いたことがありますが、ブルーは初耳です。
調べてみます。
0127122
2013/11/19(火) 22:35:24.77非零要素を一次元上(あるいは二次元とか)に並べて
それを仮想電子のようにみなし仮想クーロン斥力みたいなの計算して
要素番号補正したらとか考えてたんだが
それだと逆に傾向出ちゃうか
値を入れた同じ行、同じ列に対して再度選択を阻害するパラメーターを入れて
云々かんぬん…いかん、わけがわからくなってきた
逃走っ(しゅたたた…)
0128デフォルトの名無しさん
2013/11/19(火) 22:54:30.96>113 程度の規模ではシャッフルでもくじ引きでも、あっという間でした。
>>114 の指摘通りで、かなり恥ずかしいです。
憶測で遅いと決めつけず、質問する前に試すべきでした。
プログラムの見やすさが抜群に良いという点で、くじ引きの方法でやることにします。
みなさん、ありがとうございました。
0129デフォルトの名無しさん
2013/11/27(水) 04:14:03.660130デフォルトの名無しさん
2013/12/14(土) 23:50:45.85現在は、y軸をラベル高さで分割して、
各領域で、ラベルが指定座標を含むように左側から詰めて配置しています。
この方法だと、3点以上集中すると、大きくずれてしまいます。
どのようなアルゴリズムがありますでしょうか?
また、動的生成なので、優先順位は コスト > 見栄え です。
0131デフォルトの名無しさん
2013/12/15(日) 02:57:49.26ある点を矢印で示すようなラベルなら多少点から離れてもいいよね
それなら幾らでもやり方はあると思うよ
例えば、点や四角(ラベル)の当たり判定で配置
0132デフォルトの名無しさん
2013/12/15(日) 12:12:29.22おっしゃる通り、多少離れるのはかまわないです。
>点や四角(ラベル)の当たり判定で配置
ラベルの矩形の判定はやってみたのですが、
どの方向にずらすべきかのところで詰ってしまいました。
結果、上記のx軸+方向のみ補正な方法になってしまいました。
何かヒントがいただけたらと思います。
0133デフォルトの名無しさん
2013/12/15(日) 15:32:28.35そういったアルゴリズムを組んだことはないけど
ラベルの矩形が重なった時
指し示す点とラベルの四隅の点との距離が一番短いラベルの点を選出し
最初に、2点間の傾きを保ちならがら、そのラベルが指し示す点との距離を縮めて
縮めた際に2点間の距離が0になっても矩形が重なっているなら2点間の傾きを変える
目安となる距離と傾きの初期値を設定しておけばいいかな
傾きの初期値はラベルの4隅それぞれ、回転して考える
判定する矩形の4隅の点を左下にのみ、指示す点の45度右上の傾きにラベルを固定してしまってもいいかもね
机上の空論だから上手くいくかどうか分からないのは許してね
難しく考えすぎているのかもしれないわ
0134デフォルトの名無しさん
2013/12/16(月) 00:06:30.24http://ja.wikipedia.org/wiki/%E5%8A%9B%E5%AD%A6%E3%83%A2%E3%83%87%E3%83%AB_(%E3%82%B0%E3%83%A9%E3%83%95%E6%8F%8F%E7%94%BB%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0)
キーとなるのはここ
>グラフの頂点と辺に仮想的な力を割り当て、力学的エネルギーの低い安定状態を探す
>それぞれの辺をフックの法則にしたがうばねとみなし、それぞれの頂点をクーロンの法則にしたがう電荷をもつ粒子とみなす。
自分が以前勉強した時はgrineditっていうオープンソースソフトが解りやすかった
0135デフォルトの名無しさん
2013/12/16(月) 21:53:44.96まとまった時間を作って、出ているアルゴリズムを読んでみます。
お付き合いしてくださった皆様ありがとうございました。
0136デフォルトの名無しさん
2013/12/28(土) 23:22:37.13http://webblogsakusei.main.jp/seo_taisaku_syukyaku.html
0137デフォルトの名無しさん
2014/01/17(金) 16:44:24.770138デフォルトの名無しさん
2014/01/19(日) 15:03:35.30(a # b) を a の b 個の下降階乗冪を表す式とし、
(#) は除算 (/) よりも優先順位が高いとします。
x や y は m よりも十分大きい数とすると、
f(m) = x#m / y#m
この場合、計算量のオーダーは O(m) と考えていいでしょうか。
0139デフォルトの名無しさん
2014/01/19(日) 22:30:57.310140デフォルトの名無しさん
2014/01/20(月) 22:08:25.07たいして大きくない数で試しても計算にかなり時間がかかるのですが、
みなさんならどのような解き方をするでしょうか。
[問題]
m 枚のカードの束からランダムに x 枚引き(x <= m)、引いたカードに印をつける。
引いたカードを元のカードの束に戻し、再度ランダムに先ほどと同数 x 枚引き、
印がついていなかったら印をつけ、また元の束に戻す。
このように x 枚カードを引いて印を付けて戻す行為を n 回繰り返した後、
m 枚のカードの束に印のついていないカードが p 枚ある確率を求める関数 F(m, x, n, p) を作れ。
0141140
2014/01/20(月) 22:09:20.78全体の事象は、{C(m,x)}^n です。(関数 C(a,b) は組み合わせ aCb)
m 枚のカードから x 枚引く行為を n 回繰り返した後に結局
p 枚無印で残る引き方のパターン数を求める関数 R(m, x ,n, p) は漸化式で、
R(m, x ,n, p) = Σ[i=0..x]{ R(m, x, n-1, p+i) * A(m, x, p+i, p) }
ただし、
n = 1 かつ p = m-x ---> C(m, x)
(n = 1 かつ p ≠ m-x) または (n >= 2 かつ p > m-x) ---> 0
ここで関数 A(m, x, p, q) は、p 枚無印で残ってた状態を q 枚無印で残るようにするような、
m 枚のカードからの x 枚のカードの引き方のパターン数で(q <= p)、
A(m, x, p, q) = C(m-p, x+q-p) * C(p, p-q)
よって、F(m, x, n, p) = R(m, x ,n, p) / {C(m,x)}^n です。
これをこのまま素直にプログラムコードにしています。
[欠点]
関数 R の計算量がざっと O(x^n) です(本当は他の変数もオーダーに関わってますが)。
分割統治でやってるのだからマルチコア使って並列処理できるのですが、
もっと根本的にアルゴリズムを改善したいです。
0142デフォルトの名無しさん
2014/01/20(月) 22:18:46.730143140
2014/01/20(月) 23:12:18.37私は、関数 R と D と {C(m,x)}^n の計算は任意精度整数で、
関数 F 内の割り算は有理数型で、
そして最後にそれを倍精度浮動小数点型にしています。
0144デフォルトの名無しさん
2014/01/20(月) 23:44:20.55オイラーのガンマとか関係してそうだけど。数学できるやつならパパっと式が出てくるんだろうな。
残念ながら僕は数学ができたという過去形なので無理です。
0145デフォルトの名無しさん
2014/01/21(火) 00:23:40.460146140
2014/01/21(火) 00:24:59.04わたしも、これを代数的に解く方法は知らないのでプログラムで解こうと思いました。
プログラムで解く場合に n 乗よりも低いオーダーのアルゴリズムが存在しないのなら諦めます。
今のところ私が挑戦した限りでは、n 乗のオーダーが限界でした。
0147140
2014/01/21(火) 00:42:19.10それは違います。
例えば F(4, 2, 2, 1) で計算してみてください。
つまり、4枚のカードから2枚ランダムに引くことを2回繰り返して、
一回も引かれなかったカードが1枚存在する確率です。
本当は 2/3 ≒ 66% です。
しかし >>145 で計算すると 1/1 = 100% になってしまいます。
0148デフォルトの名無しさん
2014/01/21(火) 01:34:30.52C(m,p) で選んだp枚に対し、m-p枚からx枚選ぶ過程が一意でなく重複が入ってるから×だな
0149デフォルトの名無しさん
2014/01/31(金) 19:15:00.72その中身をコンマで区切って表示したい
print a[i] + ','
みたいなことをすると、最後の要素にもコンマが付くので、
これをうまく避けるアルゴリズムは無いものか
0150デフォルトの名無しさん
2014/01/31(金) 19:50:00.150151デフォルトの名無しさん
2014/01/31(金) 21:02:09.780152デフォルトの名無しさん
2014/01/31(金) 21:15:03.01出来上がってから最後のコンマを1個削る
0153デフォルトの名無しさん
2014/01/31(金) 21:30:32.04ただし、if 文で n 回の比較が発生するから、n があまりに大きい場合は >>152 のやり方がいいと思う。
最後の文字を削れない場合は for 文で a[n-2] まで ',' と一緒に出力して、追加で a[n-1] を出力するか。
>>150 は何の言語?
0154デフォルトの名無しさん
2014/01/31(金) 21:35:58.740155デフォルトの名無しさん
2014/01/31(金) 22:35:19.830156デフォルトの名無しさん
2014/01/31(金) 22:38:32.60puts a[0..n-1].join('.')
0157デフォルトの名無しさん
2014/01/31(金) 22:49:27.58join があるならそれを使うのが最もスマート
0158SD
2014/02/01(土) 15:47:33.85String r="";
for(String b:a){r+=d+b;d=",";}
0159デフォルトの名無しさん
2014/02/01(土) 16:20:22.09毎回同じ値で更新するのが美しくない
0160デフォルトの名無しさん
2014/02/01(土) 16:50:11.43for(int i=1;i<a.length;i++)print(','+a[i]);
0161デフォルトの名無しさん
2014/02/01(土) 17:23:17.66lengthが2回出てくる以外は殆ど無駄がない
0162デフォルトの名無しさん
2014/02/01(土) 17:47:07.99定数へのポインタを代入するだけなので効率も悪くない。
0163デフォルトの名無しさん
2014/02/01(土) 18:04:45.52コンマ部分だけ出力が別にあるのは構わないけど
str = a[i]; if (i < n - 1) {str += ','}
こうすれば一箇所
>>151とほぼ同じ
0164デフォルトの名無しさん
2014/02/01(土) 18:09:57.02for (int i = 0; i < a.size; i++) {
if (i != 0) print(,)
print(a[i])
}
0165デフォルトの名無しさん
2014/02/01(土) 18:53:19.100166デフォルトの名無しさん
2014/02/01(土) 19:42:53.65for (int i = 0; i < a.size; i++) {
print(a[i])
if (i < a.size - 1) print(,)
}
最初だけコンマを付けない、よりは最後だけコンマを付けない、の方が
人間が理解しやすいような
ただ、条件文が読みにくい
0167デフォルトの名無しさん
2014/02/01(土) 19:46:34.490168デフォルトの名無しさん
2014/02/01(土) 19:48:28.34しかも、ループごとの状態がたとえば[a, b, c]のとき、
0: a
1: a, b
2: a, b, cとなっておりどの状態も気持ちいい。
後カンマ方式だと、
0: a,
1: a, b,
2: a, b, cとなり、0と1の状態が気持ち悪い。
0169デフォルトの名無しさん
2014/02/01(土) 21:03:39.160170デフォルトの名無しさん
2014/02/01(土) 23:11:17.91(1) 最初は組み込みメソッド join を使って簡潔に書く(>>156,157)
puts xs[0..n-1].join(', ')
(2) joinの代わりに畳み込み(fold)であるメソッド inject で書き直す
puts xs[0..n-1].inject('') { |ys, x|
if ys.empty? then x.to_s else ys << ', ' + x.to_s end
}
# http://docs.ruby-lang.org/ja/2.1.0/class/Enumerable.html#I_INJECT
(3) これを命令型へ書き換えることを考える
まず(2)では先頭要素であるか否かを累積変数 ys が空か否かで判断している
この累積変数の代わりに、先頭か否かを表すフラグ is_first を使う
is_first = true
for x in xs[0..n]
if is_first
printf x.to_s
is_first = false
else
printf ", %s", x.to_s
end
end
printf "¥n"
ここまで展開すれば、これをたとえばC言語へ移植することも容易いだろう
0171デフォルトの名無しさん
2014/02/01(土) 23:18:11.99この考え方、感じ方は大事だね
例えば、これを範囲を指定してコンマ区切りの文字列を返す関数にしたら
前者ならすんなり行く
0172デフォルトの名無しさん
2014/02/02(日) 00:01:46.64どうしてもコンマが余ったり足りなかったりする
0173デフォルトの名無しさん
2014/02/02(日) 00:49:30.38for x in (xs[1..n])
print (", " + x)
では間違い?
0174デフォルトの名無しさん
2014/02/02(日) 01:00:24.64複数箇所のprintを直して回らないといけない
0175デフォルトの名無しさん
2014/02/02(日) 01:07:52.480176デフォルトの名無しさん
2014/02/02(日) 01:15:24.41もし言語がRubyであるならば、以下の問題がある
(1) 最後のendが抜けている(これは、おそらくtypoだと思う)
(2) メソッド print は実行のたびに改行するから、期待する結果とは一致しない
(3) (2)の対策として print の代わりに printf を使ったとしても、
もし xs が空であると xs[0] の値は nil になるから、
メソッド printf の実行が引数エラーになる
(メソッド仕様上、printf の第一引数は文字列であるべき)
0177デフォルトの名無しさん
2014/02/02(日) 01:21:27.650178デフォルトの名無しさん
2014/02/02(日) 01:34:06.21ネタにしてはつまらんし、素なら悲しい。
0179デフォルトの名無しさん
2014/02/02(日) 08:15:43.49または,
for(i=0;i<n;i++) printf("%s%d",(i==0)?"":",",a[i]);
int a[]; としてるけど.
0180デフォルトの名無しさん
2014/02/02(日) 08:40:42.33文字列に修飾子としてコンマの追加の条件文を書けるような言語なら綺麗に書ける筈
三項演算子はそれに一番近い
0181151
2014/02/02(日) 21:14:08.470182デフォルトの名無しさん
2014/02/03(月) 00:06:18.13完全に相対的なので、どっちでも等価
セパレータだと思えば前だし、エンドマークだと思えば後
文末のセミコロンが本当は行の区切りだと判ってる人には、
後にコンマが付くのが基本で、例外的に外しているという考えに近い筈
0183デフォルトの名無しさん
2014/02/03(月) 00:40:01.64例外的に外すという考えだぁ??
カンマは区切りっしょ。
CSV形式という文化はずーっと前からあるように。
Comma Separated Valuesだぞ?
0184デフォルトの名無しさん
2014/02/03(月) 00:55:38.640185デフォルトの名無しさん
2014/02/03(月) 19:57:58.390186デフォルトの名無しさん
2014/02/03(月) 20:21:35.730187デフォルトの名無しさん
2014/02/03(月) 21:22:48.710188デフォルトの名無しさん
2014/02/07(金) 11:44:16.710189デフォルトの名無しさん
2014/02/07(金) 12:49:17.86C言語のコンマのように、最後には付かないのがセパレータ。
ついでに言うと、C言語においてセミコロンは、式文やdo-while文みたいな、
「一部の文の」ターミネータ。あと for の頭部でセパレータとしても使われてる。
0190デフォルトの名無しさん
2014/02/07(金) 23:08:20.670191デフォルトの名無しさん
2014/02/08(土) 10:34:10.24C言語において「空文」は、「空文字列にセミコロンが付いたもの」だよ。
0192デフォルトの名無しさん
2014/02/10(月) 00:14:12.54C言語において「空文」は、「セミコロンだけの文」だよ。
0193デフォルトの名無しさん
2014/02/10(月) 17:16:31.68ばーかw
0194デフォルトの名無しさん
2014/02/10(月) 17:30:49.07どうでもいい。
0195デフォルトの名無しさん
2014/02/11(火) 08:40:29.35最後の","を'\0'で潰すのがはやい
0196デフォルトの名無しさん
2014/02/11(火) 09:17:01.180197デフォルトの名無しさん
2014/02/11(火) 16:18:25.250198デフォルトの名無しさん
2014/02/11(火) 16:31:18.090199デフォルトの名無しさん
2014/02/11(火) 19:16:39.02それとも \0 ターミネーション?
0200デフォルトの名無しさん
2014/02/13(木) 11:20:17.620201デフォルトの名無しさん
2014/02/13(木) 23:24:36.150202デフォルトの名無しさん
2014/02/13(木) 23:33:36.34前者はBSTR型とかね。
0203デフォルトの名無しさん
2014/02/13(木) 23:49:03.850204デフォルトの名無しさん
2014/02/14(金) 00:32:59.75256以上の長さの文字列どうするんだよ?
0205デフォルトの名無しさん
2014/02/14(金) 08:03:36.410206デフォルトの名無しさん
2014/02/14(金) 11:03:48.78可変長文字列を管理するデータ構造を考えるだけでも楽しそうだね。
0207デフォルトの名無しさん
2014/02/14(金) 19:07:04.660-127 のときは そのままの値
128-255 のときは (その値 - 127) x 128 + その次のバイトの値
ただしその次のバイトの値が 0-127 のときはその次のバイトの値をそのまま使うが
その次のバイトの値が 128-255 のときはさらに (上の値 - 127) x 128 + その次の次の値とする
とか
0208デフォルトの名無しさん
2014/02/14(金) 23:05:25.360209デフォルトの名無しさん
2014/02/17(月) 01:31:20.810210デフォルトの名無しさん
2014/03/05(水) 11:39:12.46たとえばxを任意の文字としてabxをbxに置き換えbxをxにおきかえるとしたら
abcをcに置き換えたいです。
この時、この置き換え操作は無限に続かないことを前提としています。
この例では一つのパターンでしたが、プログラムの入力としてパターンと
置き換える文字列、出力として置き換え後の文字列であるものの
作成方法が分かりたいです。
0211デフォルトの名無しさん
2014/03/05(水) 12:09:18.800212デフォルトの名無しさん
2014/03/09(日) 19:39:16.05ここで教えてくださる人はいますか?
0213デフォルトの名無しさん
2014/03/09(日) 20:01:44.88とりあえず質問内容を書いてみたら?
答えるかどうかは気分次第だけど。
0214デフォルトの名無しさん
2014/03/09(日) 20:20:18.06バックトラックとか動的計画法まで載ってる本で読みやすくてコードが書いてるやつ
何がいい?
はじめてのアルゴリズム 上原
とかエイホさんのとかっていいの?
0215デフォルトの名無しさん
2014/03/09(日) 20:44:41.370216デフォルトの名無しさん
2014/03/09(日) 23:15:50.810217デフォルトの名無しさん
2014/03/09(日) 23:31:43.52プログラミング・コンテスト・チャレンジブック、第2版、2012
グラフ理論など、ほとんど全てのアルゴリズムを網羅
問題数も多く、パズル感覚で楽しめる
AIやシミュレーションゲームの参考になる
TopCoder
ttp://toro.2ch.net/test/read.cgi/tech/1333159918/l50
0218デフォルトの名無しさん
2014/03/15(土) 20:50:18.83ID:3c5h2INRプログラミング・コンテスト・チャレンジブックを読もうと思ってるんですけど
その前にやっておくべき本とかってありますか?
アルゴリズムイントロダクション,データ構造とアルゴリズム(杉原)が候補にあります.
ちなみに,現在大学生で,CとPythonはある程度書けます.
0219デフォルトの名無しさん
2014/03/15(土) 21:05:18.35ID:LOPS9SpPプログラミング・コンテスト・チャレンジブックはひと通りアルゴリズムを学んだ人が腕試しにやるような本だから、候補に上げたような本を先に読むんでいいと思う。
杉原は知らないけど、アルゴリズムイントロダクションもちょっと数学的考察とか証明の割合が多いから、難しいようなら他の本を当たった方がいいかもしれない。一生使えるから、とりあえず買っちゃうのはいいと思うけど。
あとは大学(自分のとこでも、他所でも)のアルゴリズムとデータ構造の授業で使ってる教科書を見てみるのがいいと思う。
0220デフォルトの名無しさん
2014/03/15(土) 22:02:22.42ID:3c5h2INRありがとうございます.
数学的考察も欲しいのでアルゴリズムイントロダクションを買おうと思うのですが
初心者でも総合版を買うことをおすすめされますか?
鈍器としても使えるらしいので総合版にしようかと思っていたのですが
あまりにも重すぎて使いにくいという声など,もしありましたら教えていただきたいです.
0221デフォルトの名無しさん
2014/03/15(土) 22:06:32.24ID:tN8Ad5rRたしか総合版にしか無い箇所があるんじゃ?
0222デフォルトの名無しさん
2014/03/15(土) 23:56:04.39ID:LOPS9SpPへえー、総合版なんてのが出たのか。今度立ち読みしてみるわ。
1、2巻出してるから残りを3巻にすればいいのにね。
判断基準としては重さ、値段とあとは自分の勉強したいアルゴリズムが1、2巻で足りるかどうかじゃないかな?
大学の情報科の1、2年のアルゴリズムの授業で習う位の範囲なら1、2巻で足りるはず。
これが総合版だと含まれてるみたい。
27 Multithreaded Algorithms
28 Matrix Operations
29 Linear Programming
30 Polynomials and the FFT
31 Number-Theoretic Algorithms
32 String Matching <--- これも1, 2年で習うかな?
33 Computational Geometry
34 NP-Completeness
35 Approximation Algorithms
0223デフォルトの名無しさん
2014/03/16(日) 03:10:11.24ID:NcMQ7vHT0224Donald Knuth
2014/03/16(日) 03:15:08.58ID:BR331utC現在わたしは、Ph.D.(Doctor of Philosophy)をとらなければ
ならないようなプログラムを、みんなが書くべきと考えていません。
多くの理論がこれまで開発されてきましたが、そのほとんどは、
実際のプログラムではあまり使われないものなのです。
こうしたものは、ものごとを極限までつきつめるときぐらいしか、
役に立たない。これらの理論の値打ちは、
ユーザーに全体の構造を見渡せる視野を提供することにあるのです。
理論をたくさん知っていればいるほど、ユーザーは、
プログラムで実際に応用するほんのわずかなことが、
より楽に理解できるようになるというだけのことなわけです。
ユーザーは、自分が扱える範囲を広げるために、理論を必要とします。
たとえばリストでいえば、ユーザーがリストに関して、
より複雑な理論を知っていれば、プログラムにこうした理論を
使うことがなくても、プログラムの中の単純なリストの使い方は、
(理論を知らない人が書いたものと比べれば)
はるかに自然なものとなるのです。
0225デフォルトの名無しさん
2014/03/16(日) 03:27:49.15ID:NcMQ7vHT部屋の飾りにはいいかもしれないけれど
0226デフォルトの名無しさん
2014/03/16(日) 10:42:44.74ID:36W3tLYE0227デフォルトの名無しさん
2014/03/16(日) 10:50:16.89ID:JXH3psgq0228デフォルトの名無しさん
2014/03/16(日) 11:32:59.02ID:36W3tLYE0229デフォルトの名無しさん
2014/03/16(日) 12:49:26.13ID:AOFYs8Jm0230デフォルトの名無しさん
2014/03/16(日) 13:35:29.66ID:tRI7CXOm丁寧にありがとうございます!
追加されたのは比較的高学年で学ぶ範囲なのですかね.
大学院で学ぶ内容も網羅してくれているとありがたいので,総合版にしようと思います.
0231デフォルトの名無しさん
2014/03/16(日) 16:22:41.16ID:1gXwUEhj0232デフォルトの名無しさん
2014/03/16(日) 16:23:22.03ID:rHQmp5Mm0233デフォルトの名無しさん
2014/03/16(日) 18:58:01.80ID:NcMQ7vHT情報科卒業して、CSSやPHP弄ってる層に謝れよ。
0234デフォルトの名無しさん
2014/03/16(日) 19:00:27.81ID:rHQmp5Mmお前バカそうだな。
クイックソートやGoogleの検索エンジンの仕様も
アルゴリズムって呼ばれているわけだが、
お前が馬鹿にしているのが何かすらわかっていないだろう?
0235デフォルトの名無しさん
2014/03/16(日) 19:06:08.08ID:9d63KDz+アルゴリズムや数学をきちんと勉強しないから、人が考えたアルゴリズムをコードに起こす仕事になっちゃうんじゃ..
0236デフォルトの名無しさん
2014/03/16(日) 19:08:21.05ID:wQykVVMe0237デフォルトの名無しさん
2014/03/16(日) 19:15:10.66ID:NcMQ7vHTちょっと分厚い本をペラペラ捲ったら、アルゴリズム記述されてんのに、
そんなもの後で必要になってから調べて十分じゃないの?
頻出しそうなものなんて、木とネットワークフロー、DPぐらいしか思いつかないし、
BM法なんて、生涯にわたって使う機会が一度もない気がするわ
それよかPrologで出される制約問題でも解いた方が有意義じゃねぇの
0238デフォルトの名無しさん
2014/03/16(日) 19:16:09.34ID:rHQmp5Mm他人が考えたものを使うものとしか
考えてないんだろうな。
0239デフォルトの名無しさん
2014/03/16(日) 19:21:48.31ID:NcMQ7vHT若くて情熱が続くうちに、ページランクアルゴリズムでも再発明したらいいと思うよ
0240デフォルトの名無しさん
2014/03/16(日) 19:25:25.65ID:rHQmp5Mmアルゴリズムに期待したらいけなかったんじゃなかったのか?w
ページランクアルゴリズムを発明したGoogleは凄いことになりましたよね。
0241デフォルトの名無しさん
2014/03/16(日) 19:31:14.68ID:NcMQ7vHT0242デフォルトの名無しさん
2014/03/16(日) 19:36:16.50ID:rHQmp5Mmもうこれ以上レスしなければいい。
で、アルゴリズムをなにかわかってないから
そんなこと言ったんだよねw
0243デフォルトの名無しさん
2014/03/16(日) 19:36:24.56ID:9d63KDz+そりゃ、CSSやPHP弄ってるだけの場合はそんなもんだろ。お前の仕事に必要なければ勉強しなきゃいいさ。
ただ、人によって勉強する動機は異なるし、どんなアルゴリズムやデータ構造があるかを大雑把に知っておかないと、必要になった時に何をどう調べたらいいかもわからんだろ。
>>237 はもっと数学を勉強して、物事を合理的に考える力を養った方がいいな。
0244デフォルトの名無しさん
2014/03/16(日) 19:52:29.07ID:NcMQ7vHTだから、ペラペラ捲ってからで十分なんだって。
具体的な目標もなしに、アルゴリズムなんて勉強した所で身に付かないよ
そして、おまえらには目標がないので、ぺちぱーになる
0245デフォルトの名無しさん
2014/03/16(日) 19:55:39.38ID:LEh1TotOリファクタリングにしろ、デザパタにしろ、
OOPとはなんぞやの思想にしろ、
なんかしらのアルゴリズムにしろ、
必要になるまでまずその価値なんてわかんねえんだ。
0246デフォルトの名無しさん
2014/03/16(日) 20:02:22.78ID:rHQmp5Mmお前何言ってんだ?
アルゴリズムそのものの話だろ。
お前が言っているのは特定の場合の話であって
アルゴリズムそのもの話ではない。
0247デフォルトの名無しさん
2014/03/16(日) 20:14:21.59ID:NcMQ7vHTリファクタリング、デザパタの方が優先度上。
アルゴリズムの勉強なんてウンコしながらで良い
0248デフォルトの名無しさん
2014/03/16(日) 20:22:18.88ID:/mgBA8rW0249デフォルトの名無しさん
2014/03/16(日) 20:24:16.99ID:NcMQ7vHT皆、アルゴリズムの使い方と使う場面を知らないから講釈垂れてけよ
0250デフォルトの名無しさん
2014/03/16(日) 20:27:30.48ID:rHQmp5Mm俺、アルゴリズムの使い方と使う場面を知らないから教えてください。
返答例
だがことわるw
0251デフォルトの名無しさん
2014/03/16(日) 20:30:14.53ID:/mgBA8rW0252デフォルトの名無しさん
2014/03/16(日) 20:33:35.53ID:NcMQ7vHT0253デフォルトの名無しさん
2014/03/16(日) 20:36:19.25ID:/mgBA8rW0254デフォルトの名無しさん
2014/03/16(日) 20:45:10.96ID:NcMQ7vHT本当に正しいか確認するために書籍を引っ張り出すけど、
実際に調べてみるとデータベースや言語の組込み関数が問題に対して最適化されたもの提供している
少なくともソートや文字列周りのアルゴリズムは頭に入れておくだけ時間のムダ
詳細に頭に留めておくべきデータ構造もB+木ぐらいしか思い浮かばない
0255デフォルトの名無しさん
2014/03/16(日) 20:49:59.68ID:rHQmp5Mm頭にいれるのが無駄というだけで、
アルゴリズムそのものが悪いわけじゃないだろ。
クイックソートとか、多くの言語のソート機能に
使われてるアルゴリズムだし、
ソフトウェア工学の基礎だぞ。
アルゴリズムの勉強から学べることも多い。
基礎をないがしろにするもんじゃない。
優れたアルゴリズムは、今でも優れているし、
そういうのを知って、そして自分で
考えるのがプログラマってもんだろ。
0256デフォルトの名無しさん
2014/03/16(日) 20:50:55.37ID:NcMQ7vHT0257デフォルトの名無しさん
2014/03/16(日) 20:54:38.91ID:rHQmp5Mmそれは嬉しいね。
この俺のレスも見えてないはずだよね。
レス番飛んでるから書き込みしているのはわかっても
内容はわからない。レスしようがないよねw
さて、この馬鹿どうしようか。
アルゴリズムの重要さを理解してないなんて痛すぎるね。
必要になったら意味もわからずコピペしてすませそうだね。
0258デフォルトの名無しさん
2014/03/16(日) 20:56:16.49ID:NcMQ7vHT童貞がセックスでも語ってるのかな
0259デフォルトの名無しさん
2014/03/16(日) 20:56:57.35ID:/mgBA8rW0260デフォルトの名無しさん
2014/03/16(日) 20:58:04.50ID:rHQmp5MmNGしたんだからID:NcMQ7vHTには内容は見えてないはず。
ID:NcMQ7vHTってホント馬鹿だよねw
自分から見えなくするとか。
頭悪すぎるw
0261デフォルトの名無しさん
2014/03/16(日) 21:00:43.22ID:NcMQ7vHT君ら本当にアルゴリズム一通り勉強したの?
0262デフォルトの名無しさん
2014/03/16(日) 21:03:32.02ID:/mgBA8rW「組込関数が問題領域に大して最適化されたもの提供してくれる」って信じて自爆すればいいんだよ君は。
だからもうこのスレに居る必要は無いから、消えようね。
0263デフォルトの名無しさん
2014/03/16(日) 21:04:06.75ID:rHQmp5Mmそりゃメジャーなのはするでしょw
やってなきゃモグリだよ。
0264デフォルトの名無しさん
2014/03/16(日) 21:10:11.16ID:NcMQ7vHT反例はよ?
0265デフォルトの名無しさん
2014/03/16(日) 21:10:52.74ID:x79H7Blaこれでおこっちゃったんだろうなw
0266デフォルトの名無しさん
2014/03/16(日) 21:11:05.83ID:NcMQ7vHT必要になってから本を開くで十分だから
0267デフォルトの名無しさん
2014/03/16(日) 21:12:49.53ID:rHQmp5Mmだから必要になる時点で、
アルゴリズムに期待してるってことだよね。
自分で矛盾しているのわかってないんだろうね。
反論あるかい?
0268デフォルトの名無しさん
2014/03/16(日) 21:15:50.63ID:NcMQ7vHTその費用対効果の悪さを実感してもらいたいね
0269デフォルトの名無しさん
2014/03/16(日) 21:17:13.06ID:rHQmp5Mmしないのかい?w
0270デフォルトの名無しさん
2014/03/16(日) 21:18:38.78ID:PaEO6HwD○○ソート実装しますた!つっても結局はそれは発明するわけじゃないんだから、
誰かが書いたソースや、手順の解説をみて、本質的には書き写してるだけ。
それで満足できるんだからほほえましい。
0271デフォルトの名無しさん
2014/03/16(日) 21:21:39.00ID:rHQmp5Mm勉強っていうのはだいたいそんなもんだよ。
数学の勉強なんて、殆どが誰かが発明したものでしょ?
だからって数学に意味が無いことにはならないし、
もちろん勉強することに意味が無いことにもならない。
それが基礎ってもん。基礎が出来てこそ、その先がある。
ID:NcMQ7vHTはそれをわかってないんだよ。
だからみんなに馬鹿にされてる。
0272デフォルトの名無しさん
2014/03/16(日) 21:25:15.25ID:KN/i/crHどういったものがあるか程度に知識として持つってのが前提の話だろ?
必要に迫られたら、そのインデックスを頼りに勉強すればいい
知識は使わないと直ぐに忘れるから、あれこれ頭に詰め込んでもあんまり意味ない
外部記憶装置に連想配列としてデータを置いてハッシュ値で情報を取り出す方が効率が良い
ひと通り勉強するって捉え方の相違って感じ
0273デフォルトの名無しさん
2014/03/16(日) 21:27:42.49ID:9d63KDz+それ、俺が言ってることじゃん。
NcMQ7vHT はそれすら無駄って否定してたけど。
0274デフォルトの名無しさん
2014/03/16(日) 21:27:46.19ID:rHQmp5Mmいや、そういうことじゃなくて、
NcMQ7vHTはアルゴリズムそのものに
価値がないと言ってる。
下記参照
> 223 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/16(日) 03:10:11.24 ID:NcMQ7vHT
> おまえら、そんなもん学んで何に使うの?
> 233 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/16(日) 18:58:01.80 ID:NcMQ7vHT
> アルゴリズムに期待するのって、高卒とか文系SE?
> 情報科卒業して、CSSやPHP弄ってる層に謝れよ。
0275デフォルトの名無しさん
2014/03/16(日) 21:27:55.33ID:NcMQ7vHT5分以内に挿入ソートを書かないと、お前の娘がどうなっても知らないぞ
なんて、偉い人に脅されたらどうするんだ?娘の純潔が君の手に掛かっているんだぞ
コーディングが不要って考え自体は、医師免許もってる人にお腹を切開させるぐらい怪しい考え
0276デフォルトの名無しさん
2014/03/16(日) 21:32:02.43ID:rHQmp5Mmどうせ見てるんだろうけどさw
0277デフォルトの名無しさん
2014/03/16(日) 21:32:14.46ID:KN/i/crHうん、君の>>235のレスに対して>>237の返答があるけど
言っていることは同じだよ
どういったものがあるか知らなきゃ、調べようがないもの
0278デフォルトの名無しさん
2014/03/16(日) 21:37:04.12ID:KN/i/crH必要のないアルゴリズムを
親父のラジオを分解してまた組み直すように
分析しまくっても、満足はするけど、さほど身にならないよ
必要なければ物語のあらすじを知っておく程度でいいんだよ
NcMQ7vHTはそう言っていると捉えたけど
0279デフォルトの名無しさん
2014/03/16(日) 21:40:44.74ID:wQykVVMe優れたアルゴリズムをつかうことによって、
計算量が劇的に減るってことを簡単に体感出来るやん
それだけでも楽しくね?
0280デフォルトの名無しさん
2014/03/16(日) 21:42:27.17ID:NcMQ7vHTのどちらかで、んなもん目指さなくて良いなら本開いてからかウンコしながらで十分
このスレの人たちはアルゴリズムが重要だってわりに、何がどう重要なのか、
そもそも何に使うのかの具体性すらないのにアルゴリズムが重要っていう。不思議。
0281デフォルトの名無しさん
2014/03/16(日) 21:44:03.69ID:rHQmp5Mmみんな気づいているよね?
0282デフォルトの名無しさん
2014/03/16(日) 21:49:30.77ID:NcMQ7vHTそれも何か過度の期待をして悶々とムラムラしている。
あぼーんした箇所から我慢汁が垂れてきそうだ。
0283デフォルトの名無しさん
2014/03/16(日) 21:59:57.76ID:rHQmp5Mm0284デフォルトの名無しさん
2014/03/16(日) 22:08:16.80ID:jBVIil7iなんか話がねじれてるのを感じるが一点だけ。
…と思ったけどやっぱいいわw やめとく。
>>275
わろたw
0285デフォルトの名無しさん
2014/03/16(日) 22:09:25.28ID:8TdIOMC60286デフォルトの名無しさん
2014/03/16(日) 22:22:14.08ID:NcMQ7vHT0287デフォルトの名無しさん
2014/03/17(月) 02:29:24.68ID:4lFteqPu首都からすべてのセルへの、最小移動コストと、
その経路をたどるパス
すべてのセルへ、ランダムな移動コストを与えて、
シミュレートしようと思っている
ダイクストラで、優先度キューを使うか?
隣接行列か隣接リストか?
こういう知識も、
プログラミング・コンテスト・チャレンジブックから得た
3人の大学院生が書いた本だが、冒頭から度肝を抜かれる
千枚ある紙の中から、4枚引いて、
それらの合計が、mとなるかどうかを確かめろ、
という問題があるが、
a+b+c+d = mで、一般的にO(n^4)だが、
a+b = m-c-dとして、a+bでソートすると、
O(n^2 log n)となる。これぞ、Art!
0288デフォルトの名無しさん
2014/03/17(月) 05:24:43.74ID:P8Lohybr0289デフォルトの名無しさん
2014/03/17(月) 07:07:20.60ID:s3V0Rhfq0290デフォルトの名無しさん
2014/03/17(月) 10:20:45.42ID:QW4CmNA10291デフォルトの名無しさん
2014/03/18(火) 00:46:44.67ID:tPzh9EEuhttp://www.amazon.co.jp/dp/4000103431/
日本人だから意味不明の翻訳調の文章に悩まされることもない。
説明が丁寧。ひっかかりやすいミスもあれこれ解説しているのが親切。
もっと評価されてもいいと思う。
0292デフォルトの名無しさん
2014/03/18(火) 00:55:01.62ID:6BNvI/8X0293デフォルトの名無しさん
2014/03/18(火) 02:31:41.71ID:D2G7mMpQトランプのシャッフルなど、
重複しない乱数列を作るのは、
どんなアルゴリズムがありますか?
Webにあって良さそうなのは、
最初に配列に、0-9を入れておく
1. 0-9から1つの乱数aを得て、配列[a]と[9]の要素を入れ替える
2. 0-8から1つの乱数bを得て、配列[b]と[8]の要素を入れ替える
以下同じ
0294デフォルトの名無しさん
2014/03/18(火) 05:08:07.94ID:8D/uPICDそれでいいんじゃないの?
O(n)で乱数配列作れるから一番速そうだし
c++STLのrandom_shuffleだっけ
これもそれ使ってたと思う
0295335
2014/03/22(土) 22:06:03.42ID:h08U7EZc今は特に重み付き有向グラフのデータが欲しいんだけど。
なんなら、有料でもいい。
0296デフォルトの名無しさん
2014/03/22(土) 22:16:38.65ID:+XA3shYN0297デフォルトの名無しさん
2014/03/22(土) 22:46:49.83ID:ZVkXLvMBhttp://algs4.cs.princeton.edu/code/
の largeEWG.txt とかはどう?
0298デフォルトの名無しさん
2014/03/22(土) 23:29:33.56ID:p0VQZyPjhttp://elib.zib.de/pub/Packages/mp-testdata/tsp/tsplib/tsplib.html
0299デフォルトの名無しさん
2014/03/23(日) 09:35:14.62ID:hof0CNNKアドバイスはありがたいが、申し訳ないが今はちょっと非現実的かも。
面白そうではあるから、暇ができたらトライしてみるよ。
>>297 >>298
使えそうだ、助かった。
ありがと。
0300デフォルトの名無しさん
2014/03/23(日) 18:56:42.11ID:+Lw9q3Jk0301デフォルトの名無しさん
2014/03/23(日) 19:14:01.71ID:0P0DcJxOこれは凄い。知らんかった。
0302デフォルトの名無しさん
2014/03/26(水) 03:06:58.26ID:r7VC3H2x各ラインを 56,80-120,100 という2頂点のデータで複数持っています。
とある2Dの座標が多角形を構成しているラインの中か外かをチェックする必要があります。
中か外かをチェックする処理は作成したのですが、そもそも多角形を構成しているのかどうなのかという処理で、
良いアルゴリズムが浮かびません。
多角形の頂点数は3点以上です。
何か良いアルゴリズムは無いでしょうか?
0303302
2014/03/26(水) 03:24:55.09ID:r7VC3H2x各ラインの交差はありません。
0304デフォルトの名無しさん
2014/03/26(水) 04:23:33.08ID:2pJmwYuc0305302
2014/03/26(水) 05:36:23.23ID:r7VC3H2xありがとうございます。
頂点ABCDEFGと頂点BCDEFGAは同じなのですが、チェックがめんどくさくて、、、
閉じているかチェックしたいだけなので、力技ではなく何かテクニックがあったら教えていただきたいです。
0306デフォルトの名無しさん
2014/03/26(水) 06:24:33.03ID:2pJmwYuc0307302
2014/03/26(水) 06:56:33.51ID:r7VC3H2xあえて出すとすれば、同じ頂点を共有した別の多角形が存在するという条件でしょうか。
条件出しちゃいました。。。
0308デフォルトの名無しさん
2014/03/26(水) 07:05:35.73ID:R7T8IoJHそういうデータ構造にしたらいいんじゃないの?
三角形なら頂点a、b、cのデータを持って、一筆書きみたいにa-b、b-c、c-aのライン判定する
ラインデータじゃなく単純な頂点データとして持てばデータ量も減るし
多角形にならない場合があるならフラグでも設けて
最後のc-aが閉じていないってすればいいんじゃないの
どのラインも独立しているのが必要ならそれぞれオブジェクト生成したらいいんじゃない?
0309302
2014/03/26(水) 09:04:50.88ID:r7VC3H2xありがとうございます。
難しそうですね。。。
実装時間に制約があるので、1頂点から2線以上出せないという仕様を一つ追加して乗り切りたいと思います。
0310デフォルトの名無しさん
2014/03/26(水) 10:28:25.10ID:R7T8IoJH多角形は結局のところ多角形の集合なのだから
最低単位の多角形をグループ化するクラスでも作ったらいいんじゃない?
例えば、正六角形は正三角形が6つ集まっているよね
最小単位の正三角形のオブジェクトを6つ持つ正六角形クラスがあればいいよね
当たり判定はそれぞれの正三角形で行なえばいいよね
それを一般化してしまえば、1頂点から2線以上出る多角形も作ることが可能だよね
それが3Dとかで使われるポリゴンだと解釈しているけど
0311デフォルトの名無しさん
2014/03/26(水) 13:13:57.81ID:oWOUaPIh多角形が単一色、または背景が単一色で多角形部分が色付きなら楽だけど、たぶんそれじゃあ駄目なんだろな
ワイヤーフレームなら、指定座標から画面外枠に向かって上下左右に1ドットづつ色検知して、上下どちらも、または左右どちらも画面外に出る前にに多角形枠色に引っかかったら内側判定…とかは?
0312デフォルトの名無しさん
2014/03/26(水) 13:16:09.06ID:oWOUaPIhごめん、忘れてorz
0313デフォルトの名無しさん
2014/04/01(火) 20:07:56.78ID:m1CmrLTr↑のMITの講義で、スキップリストと呼ばれる1989年に考えられたデータ構造の
計算量を見積もるときに以下の問題を解く必要があります。
講義では明らかみたいなことを言っていますが、そんなに明らかでしょうか?
Aを正の実数とする。
f(x_1, x_2, ..., x_n) = x_1 + x_2/x_1 + ... + x_n/x_(n-1) + A/x_n
とする。
fの値を最小にする正の実数x_1, x_2, ..., x_nを求めよ。
各項をかけるとx(n)がいかなる値であろうとも常にA
積が一定のとき、各項がすべて等しければ最小
とかいう問題ですか?英語よめないからよくわかりません
0315デフォルトの名無しさん
2014/04/01(火) 21:31:37.80ID:wNI+pTPkdifferentiate this, set it to zero, and go crazy. Or, I could realize that, I mean, that's
not hard. But, that's a little bit too fancy for me. So, I could say, well, this is clearly
best when L_1 is small. And this is clearly best when L_1 is large. So, there's a
trade-off there. And, the trade-off will be roughly minimized up to constant factors
when these two terms are equal. That's when I have pretty good balance between
the two ends of the trade-off. So, this is up to constant factors. I can let L_1 equal n
over L_1, OK, because at most I'm losing a factor of two there when they happen to
be equal.
0316デフォルトの名無しさん
2014/04/02(水) 00:00:27.81ID:wKQIA80Wどこが分からないの? >>315 のところ?
0317デフォルトの名無しさん
2014/04/02(水) 06:26:11.63ID:ueE6QFcL0318デフォルトの名無しさん
2014/04/06(日) 00:40:03.37ID:tyVsXbcnセンスのある人はアルゴリズムがスラスラ理解できるらしいが、俺は頭が悪いのでウンウン唸りながらじゃないと理解できん
0319デフォルトの名無しさん
2014/04/06(日) 01:14:46.49ID:v5F7vKVc0320デフォルトの名無しさん
2014/04/06(日) 01:47:58.09ID:rc99+CA1追っていると頭が混乱しちゃう
0321デフォルトの名無しさん
2014/04/06(日) 08:05:50.25ID:B8PUb7p+機械の「機械のように正確な」動作を追うことができるかどうかは、
デバッグの効率には影響すると思う。この仕事に対する向き不向きとして。
0322デフォルトの名無しさん
2014/04/06(日) 08:33:13.34ID:uLJ3NzvJ0323デフォルトの名無しさん
2014/04/06(日) 10:39:51.62ID:tUu4o0lA0324デフォルトの名無しさん
2014/04/06(日) 12:54:38.12ID:rc99+CA1チューリング完全は確実に終了する根拠が無いと主張できないよな。
0325デフォルトの名無しさん
2014/04/06(日) 14:01:26.03ID:mKLMCJ7D再帰を使う上でその根拠を決めるのは自分でしょ
0326デフォルトの名無しさん
2014/04/06(日) 17:47:49.59ID:v5F7vKVc再帰の頭に終了条件を書くでしょ、そのときに否が応でも自分で決めざるを得ない
0327デフォルトの名無しさん
2014/04/06(日) 17:55:05.95ID:/BRp7uTK0328デフォルトの名無しさん
2014/04/06(日) 18:32:11.06ID:v5F7vKVcありえない、お前は再帰をもういちど勉強したほうがいい
0329デフォルトの名無しさん
2014/04/06(日) 18:42:52.70ID:N5LDc9gShttp://manta.blog.jp
http://livedeaichat.blog.fc2.com/blog-entry-1.html
http://sisutore.blog.jp/archives/1000786211.html
0330デフォルトの名無しさん
2014/04/06(日) 18:48:53.18ID:1V1mpQ2/じゃあ、今日からは、再帰を書くときは真っ先に再帰を終了させる条件を定義するようにしましょうよ。
0331デフォルトの名無しさん
2014/04/07(月) 01:56:22.46ID:d0TT8Xygアーキテクチャの本を読んでも理解できなかったわ
0332デフォルトの名無しさん
2014/04/07(月) 03:42:51.76ID:X0/QJ0Bzマシン語勉強すれば?
0333デフォルトの名無しさん
2014/04/07(月) 05:20:02.79ID:EBZlvC1X0334デフォルトの名無しさん
2014/04/07(月) 05:21:46.96ID:EBZlvC1Xたったこれだけ。単にループを再帰で置き換えるだけなら
簡単。データ量が不定だったりする場合は一定の量だけを
切り出して、そのブロックに対して再帰にすればいい。
0335デフォルトの名無しさん
2014/04/07(月) 09:20:18.42ID:X0/QJ0Bz自分は、関数呼び出しがマシン語では引数や戻りアドレスをスタックに積んで関数の先頭アドレスにジャンプするコードになるのを知ってたから理解できたけど、そんなのは老害だって言うなら黙るよ。
0336デフォルトの名無しさん
2014/04/07(月) 09:25:29.71ID:2J/E/BiW0337デフォルトの名無しさん
2014/04/07(月) 09:29:04.52ID:5wZ1j6dN0338デフォルトの名無しさん
2014/04/07(月) 10:06:25.41ID:Azn2Ag2Hcd himitsu
ln -s . himitsu
0339デフォルトの名無しさん
2014/04/07(月) 10:40:46.86ID:2J/E/BiW0340デフォルトの名無しさん
2014/04/07(月) 19:44:06.53ID:07lAy1km・再帰
・リンクリスト
辺りがダメな人は本当にわからないらしい。
数学科でもダメな奴がいると聞いた。
0341デフォルトの名無しさん
2014/04/07(月) 19:54:04.79ID:WXfYbNCh0342デフォルトの名無しさん
2014/04/07(月) 19:54:31.72ID:jH/0whnp0343デフォルトの名無しさん
2014/04/07(月) 20:03:59.61ID:Yv3nxM4P0344デフォルトの名無しさん
2014/04/07(月) 21:57:36.22ID:cPHU7Y9F0345デフォルトの名無しさん
2014/04/07(月) 22:44:41.34ID:aZ3ao3+q0346デフォルトの名無しさん
2014/04/07(月) 23:03:10.48ID:R8X8CMOsチューリングの計算可能の話にまで遡るのか・・・
大学レベルだけど、講義でもないのに教えるの面倒くさいなあ
0347デフォルトの名無しさん
2014/04/07(月) 23:13:47.29ID:9xD+wUOX0348デフォルトの名無しさん
2014/04/08(火) 17:07:35.17ID:h+V2EGQg6年ぐらい入門して、最終的に触る機会なんてなかったぞ
0349デフォルトの名無しさん
2014/04/08(火) 17:21:28.77ID:mk0uQXXd0350デフォルトの名無しさん
2014/04/08(火) 17:31:13.57ID:h+V2EGQgサクラ鯖に、なでしこでCGIでしょうか?
0351デフォルトの名無しさん
2014/04/08(火) 17:44:56.41ID:q/1QB78S言語訓練のために書き込んだものです。
0352デフォルトの名無しさん
2014/04/24(木) 10:38:39.98ID:F0ZMWPHIなれば一応完成とみていいですか?
0353デフォルトの名無しさん
2014/04/24(木) 11:33:00.99ID:V7HoJaA90354デフォルトの名無しさん
2014/04/24(木) 11:55:31.38ID:1XlNsioB0355デフォルトの名無しさん
2014/04/24(木) 12:31:07.16ID:mnsZs1hI探せるようになればおk
0356デフォルトの名無しさん
2014/04/24(木) 14:05:02.62ID:E/S2XTBi既存のアルゴリズムの改良をしたり、
目的に沿ったアルゴリズムを開発したり、
その計算量やメモリ量を算出・証明したり、
実装したり、論文で発表したりする
0357デフォルトの名無しさん
2014/04/24(木) 17:22:35.13ID:CrNHZjbB0358デフォルトの名無しさん
2014/04/24(木) 20:31:22.55ID:RrLorudN違う。
それを勉強し始めた時に思い描いた未来の自分になれば完成だ。
目標もなくただなんとなく勉強しているのなら、完成なんて永遠にこない。
あと、「一応」なんてものも無い。
0359デフォルトの名無しさん
2014/04/24(木) 21:05:08.96ID:29x10p2Yらいなっくすやれいるずを作れるようなすーぱーはっかーになれますか?
0360デフォルトの名無しさん
2014/04/24(木) 21:07:30.43ID:29x10p2Y蟻本嫁
0361デフォルトの名無しさん
2014/04/24(木) 21:50:29.46ID:RrLorudNなれるわけがない。
ウソだと思うなら、実際に効率最大まで上げてみればいい。
0362デフォルトの名無しさん
2014/04/25(金) 01:31:40.05ID:J0O0+fbt末尾再帰最適化、継続あたりで検索。
0363デフォルトの名無しさん
2014/04/25(金) 22:30:20.43ID:k5QgmFyd高卒なのか?
0364デフォルトの名無しさん
2014/04/26(土) 00:12:34.02ID:4Xi6PaOs>ただし、if 文で n 回の比較が発生するから、n があまりに大きい場合は >>152 のやり方がいいと思う。
元のお題がI/Oなんで、この程度の比較命令は全く問題にならない。
わかりやすく書くのがいい。
0365デフォルトの名無しさん
2014/04/26(土) 16:51:03.49ID:LWRQ8Tqr最適なアルゴリズムより線形検索とかでも充分だったり
0366デフォルトの名無しさん
2014/04/26(土) 17:09:52.91ID:ztOmzoR+転送速度12.8GB/sだからね。
0.01秒だと人間が知覚できるかどうかの世界だけど
その時間があれば100MBのデータを探索できるわけだからね。
0367デフォルトの名無しさん
2014/04/27(日) 18:18:02.68ID:dkXr/W0v0368デフォルトの名無しさん
2014/04/29(火) 16:58:26.39ID:pvgpWpOe0369デフォルトの名無しさん
2014/04/29(火) 19:48:18.31ID:gkPlm+Vx富豪的プログラミングじゃなくて、成金的プログラミングだと思うよ。富豪ってのは
周りが無駄に無計画に使っているように見えても、実際は締めるところは締め、
使うところは使うっていうのだからな。
0370デフォルトの名無しさん
2014/04/29(火) 19:50:52.99ID:rRRSFl+L0371デフォルトの名無しさん
2014/04/29(火) 20:17:40.02ID:8B6X7USU必要以上の節約は労力の無駄使い。
0372デフォルトの名無しさん
2014/04/30(水) 03:59:01.72ID:RSryIHGRメモリ解放されなくてそのうち死ぬ
成金の糞flushのせい
0373デフォルトの名無しさん
2014/04/30(水) 17:31:12.56ID:8H1kM5Z6https://www.youtube.com/watch?v=n2CcU1A1i-0
0374デフォルトの名無しさん
2014/05/01(木) 08:04:28.79ID:9zM4+Fav一般的に、I/Oなどは、1MBほどのバッファを確保して、
バッファに読み込んで、再生などの処理をしたら、
処理したデータを捨てて、次のデータを読み込む、
シーケンシャル・アクセスで、バッファのサイズは大きくならない
そのブラウザは、もう一度再生するときに、
ネット回線からダウンロードせずに再生するために、
データをローカルのメモリかディスクに保存しているんだな
データを捨ててないから、最後にはメモリが確保できなくなるので、
もう一度見ないものは、タブを閉じたらいいのでは?
0375デフォルトの名無しさん
2014/05/03(土) 00:51:05.80ID:pJ23Zgdt2.逆ポーランド記法で入力するとそのまま逆ポーランドで出力する
の両方できるアルゴリズムはありませんか?
1.は操車場アルゴリズムでできるようですが、
操車場アルゴリズムだと2ができません。
0376デフォルトの名無しさん
2014/05/03(土) 01:02:13.43ID:nIlg1A2j中値記法と逆ポーランド記法を識別する方法が知りたいって事?
0377デフォルトの名無しさん
2014/05/03(土) 08:21:56.99ID:pJ23Zgdtはい、そうです
識別方法はありますか?
0378デフォルトの名無しさん
2014/05/03(土) 08:39:02.09ID:ci/X6yFn末尾だけを最初に見れば良いんじゃね?
逆ポーランド記法の場合、必ず最後は演算子で終わるから。
但し、一番外側にカッコがある場合は、一度取り除いてから末尾を見ないといけないね。
0379デフォルトの名無しさん
2014/05/03(土) 08:41:32.32ID:ci/X6yFnカッコだったら次の文字に移動。
数字が先に現れれば中値記法。
演算子なら逆ポーランド記法。
0380デフォルトの名無しさん
2014/05/03(土) 10:33:17.49ID:pJ23Zgdt末尾判断でやってみます
0381デフォルトの名無しさん
2014/05/03(土) 10:44:34.36ID:BYcmF+is0382デフォルトの名無しさん
2014/05/03(土) 11:56:43.41ID:1SJdCv6F0383デフォルトの名無しさん
2014/05/03(土) 13:34:57.97ID:gqLjB/uh0384デフォルトの名無しさん
2014/05/03(土) 14:00:37.70ID:SFocP469いま旅行中だから帰ったらやる
0385デフォルトの名無しさん
2014/05/04(日) 00:30:58.09ID:/8HFkyurttp://www.younganimal.com/se/img/03.jpg
ttp://www.younganimal.com/se/img/04.jpg
ttp://www.younganimal.com/se/img/05.jpg
ttp://www.younganimal.com/se/img/06.jpg
ttp://www.younganimal.com/se/img/07.jpg
ttp://www.younganimal.com/se/img/08.jpg
ttp://www.younganimal.com/se/img/09.jpg
ttp://www.younganimal.com/se/img/10.jpg
ttp://www.younganimal.com/se/img/11.jpg
0386デフォルトの名無しさん
2014/05/04(日) 01:21:41.85ID:LoW5JUMG0387デフォルトの名無しさん
2014/05/04(日) 01:23:49.16ID:tByDu0vN0388デフォルトの名無しさん
2014/05/04(日) 01:57:49.42ID:mBc+6kiF0389デフォルトの名無しさん
2014/05/04(日) 10:08:06.94ID:tByDu0vNハードの話をすっ飛ばしていきなりオナホ界のジョブズだとかw
0390デフォルトの名無しさん
2014/05/04(日) 11:55:06.72ID:2wcEJRw7頭からの再帰、明日にでもやろう
その前に
頭からとか、末尾からとか
末尾再帰に関わる意味で言ってるんか?
おれは算術式の頭から見ていく
という意味で言っていたが
それにしてもなんでこんな簡単な問題が!
初心者の俺は根本的に問題を誤解してるのか?
ま、いいや、明日には書いておく
0391デフォルトの名無しさん
2014/05/04(日) 14:05:33.54ID:n8bRVLF6少なくとも>>378で言ってる末尾は、再帰の話なんて一切してないよ。
単純に数式文字列の最後の文字と言う意味ね。
0392デフォルトの名無しさん
2014/05/04(日) 20:22:58.60ID:peygn8xB課題では中置を逆ポーランドにだったけど、アルゴリズムの都合上、
中置もポーランドも逆ポーランドに変換(無論、逆ポーランドはそのまま)
また、各種記法の混在を認める
((1 + (* 3 5)) (8 - 2) (2 5 expt) +)
でもよし
方針 式の頭からワンパスで変換を終了する
使用言語 Scheme
http://codepad.org/Ogp2Lzwh
0393デフォルトの名無しさん
2014/05/04(日) 20:41:37.31ID:2wcEJRw7どひゃ!
>>392は変数と演算子を区別していない!
式の計算ではなく
式の変換だけの課題だった!
もう、変換だけでなく計算してしまう過大なら楽なのに!
(今日は寝る)
0394デフォルトの名無しさん
2014/05/04(日) 20:44:47.52ID:2wcEJRw7(number (eval x ()) )にすりゃいいな
0395デフォルトの名無しさん
2014/05/05(月) 08:05:58.63ID:wP+UVhzo式に変数も認めるバージョン
演算子情報はは演算子データベースに保持
http://codepad.org/c65AyXpd
0396デフォルトの名無しさん
2014/05/05(月) 09:00:44.75ID:ZPrSoRKy0397デフォルトの名無しさん
2014/05/05(月) 09:23:14.89ID:wP+UVhzoゲロはいてろ
0398デフォルトの名無しさん
2014/05/16(金) 17:36:11.48ID:SXeDLzrEたとえば、フィボナッチ数列を再帰的に計算するプログラムを
スタックを使って非再帰的に計算するプログラムが野崎昭弘さんの
本に載っているのですが、何度読んでも理解できません。
どうすれば理解できるようになりますか?
0399デフォルトの名無しさん
2014/05/16(金) 18:03:16.22ID:lP/gHzU8他の例をさがしてみたら?
0400デフォルトの名無しさん
2014/05/16(金) 18:38:21.93ID:rkx/vo/ufibonacchi数列の非再帰表現をするにはごく普通にwhileループを使って実現できる
f(n) = f(n-2) + f(n-1)
のf(n-2)の値を例えば変数prev2に保存し
f(n--1)の値を例えば変数prev1に保存すれば
f(n) はprev2 + prev1で求められる
それを変数ansに格納すれば
while ループごとに
ans = prev2 + prev1
prev2 = prev1
prev1 = ans
と更新していけばよい
また、f(1)=f(2)=1なのでそれはwhileループで処理しない。逆に
f(3)以上の値をwhileループで求めればよい
具体的には、これを見ろ
http://codepad.org/vdi9qyqK
0401デフォルトの名無しさん
2014/05/16(金) 18:41:31.99ID:lP/gHzU8再帰的なコードのループへの変換がわからない、ということでしょ。
0402デフォルトの名無しさん
2014/05/16(金) 18:42:59.47ID:rkx/vo/u0403デフォルトの名無しさん
2014/05/16(金) 19:13:51.53ID:a2G3KqVrまあ再帰は基本的に遅いけど、メモ化すればずっとマシになるし(震え声)
C++で書いてみたサンプル↓
http://codepad.org/HgtP5slM
0404デフォルトの名無しさん
2014/05/16(金) 19:17:07.35ID:a2G3KqVrまあフィボナッチは末尾再帰(非再帰型にしやすいもの)の中では定番ですし……
そうでなくてもスタックが使えれば原理的にはなんだって非再帰にできるはずだが
http://ja.wikipedia.org/wiki/%E6%9C%AB%E5%B0%BE%E5%86%8D%E5%B8%B0
http://www.math.kobe-u.ac.jp/~taka/asir-book-html/main/node67.html
0405デフォルトの名無しさん
2014/05/16(金) 19:34:10.95ID:6FN1WxebではAVL木や赤黒木(二色木)を非再帰に書き下ろしてみてくださいな
0406デフォルトの名無しさん
2014/05/16(金) 19:38:01.88ID:a2G3KqVr「原理的に」つっただろ……なぜお前の代わりにそんな面倒なことする必要がある?
0407デフォルトの名無しさん
2014/05/16(金) 19:39:42.73ID:6FN1Wxebできないのですね
0408デフォルトの名無しさん
2014/05/16(金) 19:54:10.14ID:84RD4hek0409デフォルトの名無しさん
2014/05/16(金) 20:11:01.93ID:6FN1Wxeb0410デフォルトの名無しさん
2014/05/16(金) 20:22:30.15ID:lP/gHzU80411デフォルトの名無しさん
2014/05/16(金) 23:21:34.01ID:irORkSf30412デフォルトの名無しさん
2014/05/17(土) 13:14:23.25ID:6fCCnAU/0413デフォルトの名無しさん
2014/05/17(土) 13:28:37.03ID:Ml/OqnCmていうかCPS変換てのは、戻らない形にするプログラム変換だから。
0414デフォルトの名無しさん
2014/05/17(土) 15:05:44.99ID:r0DUx653引数だけ渡しても再開できるとは限らんから
0415デフォルトの名無しさん
2014/05/18(日) 14:33:40.46ID:kmKCNCUr0416デフォルトの名無しさん
2014/05/18(日) 17:10:06.80ID:Eb7sh+a50417デフォルトの名無しさん
2014/05/21(水) 11:33:25.46ID:327eLNTnアルゴリズムとデータ構造について語ろう
http://ai.2ch.net/test/read.cgi/math/1379334483/
0418デフォルトの名無しさん
2014/05/21(水) 15:13:54.42ID:MlM1D9Ph0419デフォルトの名無しさん
2014/05/21(水) 15:48:05.32ID:327eLNTnP vs NP
http://ai.2ch.net/test/read.cgi/math/1344808587/
0420デフォルトの名無しさん
2014/05/21(水) 16:44:08.38ID:d423R2AO呼ぶな
0421デフォルトの名無しさん
2014/05/27(火) 00:22:21.54ID:EC+gzOW5再帰の技法 基本的考え方・アルゴリズム・プログラミング
http://www.amazon.co.jp/dp/4434085972/
この本良いよ。
階乗、フィボナッチ、ハノイあたりから始まって再帰を使った問題を解説している
もちろん再帰をループに書き直す考え方とかも入ってる
再帰だけ取り上げてる本ってありそうでなかったけど、苦手な人はこういう本で
一度基礎からちゃんと勉強した方が早道だと思う
0422デフォルトの名無しさん
2014/05/27(火) 00:24:47.89ID:g/OODa/4アマゾン見てみたが書いてなかったな、使用言語
0423デフォルトの名無しさん
2014/05/27(火) 00:33:08.26ID:vwK3Zsni中身もそれかどうかは不明
0424デフォルトの名無しさん
2014/05/27(火) 00:39:11.30ID:jH6wT1ovでも索引まで入れて140ページちょいって少なすぎないか?
0425デフォルトの名無しさん
2014/05/27(火) 00:42:44.47ID:vwK3Zsniもうおなかいっぱい
0426デフォルトの名無しさん
2014/05/27(火) 01:09:20.80ID:g/OODa/4そういうのもあるんだなあ
0427デフォルトの名無しさん
2014/05/27(火) 02:27:20.02ID:Viwfu6Pvそのページの表紙の写真の下にある
[この本の中身を閲覧する]をクリックして出てくるサンプルの3ページ目の下から3行あたりに
「この本ではC言語を用いてプログラムを示すことにしますので、読者はC言語の知識があるものとします。」
と書いてあるぞ。
0428デフォルトの名無しさん
2014/05/27(火) 02:28:45.56ID:Viwfu6Pv× サンプルの3ページ目
○ サンプルの2ページ目
0429デフォルトの名無しさん
2014/05/27(火) 03:31:35.37ID:2Sfp9Dnc読んでさえいなくても
0430デフォルトの名無しさん
2014/05/27(火) 06:19:42.11ID:g/OODa/4さんくす、見てきた
もう、お目目キラキラ一年生のために書きました!って言っていいくらいに丁寧にゼロから書いてる感じだった
「再帰?わかんねえよ」
「再帰の本ってリスプとかだろ?
べらんめえ!こちとら江戸っこでぇ、カッコカッコでコケコッコーじゃ埒が明かねえ!」
とか思うがヒトにはいいかもね
(俺は買わないけど)
0431デフォルトの名無しさん
2014/05/27(火) 06:21:20.87ID:g/OODa/40432デフォルトの名無しさん
2014/05/27(火) 12:28:18.66ID:W6i6Hy/C0433デフォルトの名無しさん
2014/05/27(火) 14:11:02.49ID:g/OODa/40434デフォルトの名無しさん
2014/05/27(火) 14:59:53.72ID:oNallj0q0435デフォルトの名無しさん
2014/05/27(火) 20:30:31.87ID:YRg9mIiYべつにいいんじゃね、挨拶みたいなもんだよ
毎度のことなんで紹介する方もわかってるでしょ
0436デフォルトの名無しさん
2014/05/28(水) 03:21:51.67ID:7s/YdHrOvoid main() だと?!
0437デフォルトの名無しさん
2014/05/28(水) 08:32:11.08ID:O+De570mVSなら間違ってないから(震え声)
それに定説は「void main()な入門書は大概糞」ってだけだし
> なお、C/C++の言語そのものの解説ではない書籍、例えば圧縮アルゴリズムに
> 関する書籍に void main() のような記述があったとしても、その書籍の有用性とは
> 直接関係ないので、大目に見てあげてください。
http://www.kijineko.co.jp/tech/superstitions/void-main.html
0438デフォルトの名無しさん
2014/05/28(水) 09:59:35.52ID:o+iely1Y総務省、「データサイエンス」力の高い人材の育成進める方針
0439デフォルトの名無しさん
2014/05/28(水) 14:14:56.29ID:H+u5tE5jvoid main()とか、無限ループしてmain()から抜けないとか、
日常茶飯事の感覚だろうな。
0440デフォルトの名無しさん
2014/05/28(水) 14:19:38.07ID:H+u5tE5j0441デフォルトの名無しさん
2014/05/31(土) 14:50:19.52ID:iRT5FyvM"free standing environments"ならmainは必要ない。ある時の型も任意。
0442デフォルトの名無しさん
2014/05/31(土) 15:06:23.11ID:jIjiIgN70443デフォルトの名無しさん
2014/05/31(土) 16:42:26.70ID:eTy5fHBW0444デフォルトの名無しさん
2014/06/02(月) 05:00:36.21ID:7RR9zZ5c0445デフォルトの名無しさん
2014/06/02(月) 05:01:24.48ID:7RR9zZ5c0446デフォルトの名無しさん
2014/06/02(月) 16:30:01.83ID:hm+Oq1Eo単価が高めの案件ほど特にw
コードレビュー無し。
テスト仕様は徹底的だが
0447デフォルトの名無しさん
2014/06/02(月) 16:34:24.76ID:hm+Oq1Eo悪意をもてばやりたい放題出来る。費用も言い値。
まあ悪意はそうそう持ち込めるものじゃないが。
多分STAP細胞の現場もそうだったんだろうな、と想像出来る。
0448デフォルトの名無しさん
2014/06/02(月) 16:39:58.16ID:2EOO5SfKほんと動けば良いのノリだけで造ってる
もちろんまともなひとがいない訳じゃないけどね
0449デフォルトの名無しさん
2014/06/02(月) 17:35:27.78ID:zexIr6VF一番最初のソースがひどいとダメだよね
次からはちょっと変更する工数しかないから、みんな割り切ってそのまま変更
まともな人は黙って or ダメソースをなんとかする工数うんぬんで上司と揉めて辞めてしまう
0450デフォルトの名無しさん
2014/06/02(月) 17:41:16.64ID:MmoG7Ddqソフトウェアも相当部分が使い捨てだよね。完全にスレ違いの話題。
0451デフォルトの名無しさん
2014/06/02(月) 20:01:38.46ID:X19dTLG/0452デフォルトの名無しさん
2014/06/02(月) 20:03:23.97ID:OmwWZrbTへ?ハードが完全とはいえんから
ソフトも適当でいいっていっるのか?
じゃ、馬鹿だ
0453デフォルトの名無しさん
2014/06/02(月) 20:04:28.73ID:OmwWZrbTだめな奴おおすぎ
0454デフォルトの名無しさん
2014/06/02(月) 20:56:04.36ID:IYI3/sk20455デフォルトの名無しさん
2014/06/02(月) 21:13:32.37ID:JYHVd/sm組込みに限らず、出来る人は2chなんかに来ないだろ。
0456デフォルトの名無しさん
2014/06/02(月) 21:14:22.88ID:hqsmsqu00457デフォルトの名無しさん
2014/06/02(月) 21:28:06.44ID:Evci24oh0458デフォルトの名無しさん
2014/06/03(火) 01:48:47.18ID:Z4oEYHwK結果、ソフトに柔軟でかつ早急な対応が必要になるし。
クラス設計とかやった方がいいのかもしれないが、2の次になるとかそういうことだと思う。
0459デフォルトの名無しさん
2014/06/03(火) 01:52:54.96ID:Z4oEYHwK0460デフォルトの名無しさん
2014/06/03(火) 05:21:25.51ID:5jlmL2lSハードのために仕事しろ!
だし
アプリのためのOSのためのハードじゃないからな
0461デフォルトの名無しさん
2014/06/03(火) 21:15:40.07ID:wU314ZfN0462デフォルトの名無しさん
2014/06/05(木) 13:01:25.59ID:TEbe8oH8z個の重複しない乱数を発生させるためのアルゴリズムはどうしますか?
【例】 x=100, y=200, z=5だと、121, 129, 142, 189, 195みたいなのを返す(当然y-x+1>zである必要がある)。
0463デフォルトの名無しさん
2014/06/05(木) 13:22:26.50ID:frJCi6Xixからyまでの個数の配列作って乱数でシャッフル
先頭からz個取得
でいいんじゃないの?
0464デフォルトの名無しさん
2014/06/05(木) 13:30:50.33ID:TEbe8oH8シャッフルはオレのプログラミング哲学に反する。
先頭から取得するとどうしてても最初のほうの数が選ばれる確率が高くなるのは避けられない。
0465デフォルトの名無しさん
2014/06/05(木) 13:40:17.83ID:XOt4XuJlr=y-x+1;
for(i=0;i<z;) {
a[i]= x + 乱数生成(r);
for(j=0;j<i;j++) {
if(a[i]==a[j]) break;
i++;
}
}
0466デフォルトの名無しさん
2014/06/05(木) 14:01:49.36ID:frJCi6Xi>先頭から取得するとどうしてても最初のほうの数が選ばれる確率が高くなるのは避けられない。
根拠は?
z個取得する位置もランダムで選択してもいいんじゃないの
0467デフォルトの名無しさん
2014/06/05(木) 14:06:43.74ID:XOt4XuJlシャッフルする必要なければ配列に入れる必要もない。
選んだ配列のインデックスが重複すれば無視しなければいけないのだから>>465と何ら変わることはない。
0468デフォルトの名無しさん
2014/06/05(木) 14:27:18.69ID:frJCi6Xi配列からz個読み出す初期位置を先頭からズラすって意味なんだけどね
0469デフォルトの名無しさん
2014/06/05(木) 15:40:02.23ID:hSA2XS33http://peace.2ch.net/test/read.cgi/tech/1393660194/
0470デフォルトの名無しさん
2014/06/05(木) 16:22:07.85ID:XOt4XuJl(と言ってもzでなくy-xのオーダーになるので、
オーダーは変わらないものの>>465よりコスト安になることはない)
>>464の懸念もあまり意味は無い。
しかし仮にちゃんとシャッフルできてないのでは?って懸念を認めるとすると、
最初の方だけ偏りがあるという変なシャッフルをしない限り、
どこから取っても偏りがあることには変わりない。
そういうわけなんで>>466は修正案の部分がおかしい。
「根拠は?」のところはいいんだけど、良いシャッフルアルゴリズムを挙げられればもっと良かった。
0471デフォルトの名無しさん
2014/06/05(木) 16:55:24.44ID:jEZV0Sf8こんなかんじかな。
先頭から、それぞれが選ばれる確率をきちんと設定して、
すべて等確率になるようになってる……はず。
検定は自分でやってくれ。
void
choose(int x, int y, int z) {
int i;
int n = z;
int d = (y-x+1);
for (i = x; i <= y; i++) {
if (n/d の確率で真) {
printf("%d ", i);
n--;
}
d--;
}
}
0472デフォルトの名無しさん
2014/06/05(木) 17:03:39.05ID:jEZV0Sf8忘れてくれ。
0473デフォルトの名無しさん
2014/06/05(木) 17:09:28.41ID:frJCi6Xixとyに大きな隔たり、つまり配列が大きい場合、最終的にz個取り出す位置にもランダム性があれば
よりランダム性のあるz個の列を何度も取り出せるって意味合い程度だよ、思いつきだよ
シャッフルでありがちな実装ってこんなんかな
乱数生成エンジンが質の良い物ならこんなんでいいと思うけどね
int size = 10;
int a[size] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for(int i=size-1; i>0;i--)
{
int j = rand()%i;
swap(a[i], a[j]);
}
0474デフォルトの名無しさん
2014/06/05(木) 17:19:32.12ID:jEZV0Sf8こうだ。
dCn はコンビネーションな。d!/(n!(d-n)!) のこと。
void
choose(int x, int y, int z) {
int i;
int n = z;
int d = (y-x+1);
for (i = x; i <= y; i++) {
if ( (d-1)C(n-1) / dCn の確率で真) {
printf("%d ", i);
n--;
}
d--;
}
}
0475デフォルトの名無しさん
2014/06/05(木) 21:11:11.97ID:C2lCmQ2j一応突っ込んでおくと、それを乱数とは言わない。
乱数を加工して得られる数列。
0476デフォルトの名無しさん
2014/06/06(金) 02:53:59.42ID:cO/jAhvR乱数じゃないよね。だって、後の方になるほど次に出る数に制限があって予想が
つくわけだし。
99個目の次は100%当てられる
そんなの乱数って呼んで良いの? 数学的に。
0477デフォルトの名無しさん
2014/06/06(金) 08:45:46.74ID:lrmBy0jf「集合に含まれる個々の数」では無いのだが。
さっきから馬鹿なこと言い続けてる奴がいるな。
0478デフォルトの名無しさん
2014/06/06(金) 09:08:36.98ID:F77g5hNRそれは乱択
0479デフォルトの名無しさん
2014/06/06(金) 09:09:56.94ID:DTdJKogBそうだよ
それは乱数じゃないよ
0480デフォルトの名無しさん
2014/06/07(土) 02:24:09.38ID:RWltX+Oe>462の設問は言葉足らずかもしれないが、意図は通じるでしょ
0481デフォルトの名無しさん
2014/06/07(土) 07:07:52.13ID:SxbAzKvi>>462 は ambiguous だから知らんが
>>476 は乱数ではない
>>480 は
順列の集合から1個をランダムに取り出す
の後で1個をもとに戻せばよい
0482デフォルトの名無しさん
2014/06/07(土) 11:56:57.57ID:kpprM5q6その定義だと、線形合同法は乱数じゃなくなるね。
線形合同法を禁止するわけにはいかないのだろうか。
0483デフォルトの名無しさん
2014/06/07(土) 12:05:27.70ID:u3dUy4Sv「箱の中から1個取り出して元に戻さない」方式の場合は、取り出す前は 1/N の確率だったものが、
1/(N-1) の確率に変化してしまう、ということを言っている。
決定的である、という意味では、線形合同法に限らず、真の乱数でない、あらゆる疑似乱数が
決定的だから、線形合同法だけ槍玉に上げるのはおかしい。
0484デフォルトの名無しさん
2014/06/07(土) 12:25:19.08ID:GAICIAD/0485デフォルトの名無しさん
2014/06/07(土) 12:28:22.09ID:kpprM5q6線形合同法はN回目に取り出された物がN+x回目(xは1から周期の長さ)に取り出される確率は0じゃん。
線形合同法は「箱の中から1個取り出して元に戻さない」方式だよ。
481=483だとすると主張がよく分からない。
0486デフォルトの名無しさん
2014/06/07(土) 12:57:15.27ID:u3dUy4Svその理屈では、M系列だろうがMTだろうがXORShiftだろうが、ありとあらゆる方式に同じことが言える。
単に状態空間が、線形合同法は通常32ビットぐらいで、MT19937の場合は19937ビットある、というだけ。
0488デフォルトの名無しさん
2014/06/07(土) 13:17:13.74ID:kpprM5q6ありとあらゆる方式なんだ?
まあそれは置いといて、481=483だとすると主張がよく分からない。
どういうものなら乱数なんだ?
線形合同法やM系列は違うわけだね。
これは「箱の中から1個取り出して元に戻さない」方式というのを
否定はしてないようだし。
何か詳しい人かと思ったんだけど、違うのかな。
0489デフォルトの名無しさん
2014/06/07(土) 13:23:04.14ID:u3dUy4Sv決定的なんだから、箱の中からどれかを選んで取り出しているのではなく、
ただ単に一列に数が並んでるだけ。
この説明でわからないなら消えろ。
0490デフォルトの名無しさん
2014/06/07(土) 14:47:13.36ID:kpprM5q6あれ?
線形合同法は「箱の中から1個取り出して元に戻さない」方式ではないという主張なんだ。
線形合同法はN回目に取り出された物がN+x回目(xは1から周期の長さ)に取り出される確率は0で、
ただ単に数が並んでるだけではないんだけど。
それ(確率は0ということ)は決定的かどうかとは無関係。
主張がよく分からないので自分ではっきり言って欲しいんだが、
「箱の中から1個取り出して元に戻さない」方式は乱数でなくて、
線形合同法は乱数だと言っている?
0491デフォルトの名無しさん
2014/06/07(土) 15:39:11.11ID:SxbAzKvi0492デフォルトの名無しさん
2014/06/08(日) 07:41:14.21ID:UFZstAgU0493デフォルトの名無しさん
2014/06/08(日) 07:43:34.23ID:397riybv0494デフォルトの名無しさん
2014/06/08(日) 19:49:00.06ID:2o23JRSC0495デフォルトの名無しさん
2014/06/08(日) 20:15:33.27ID:HIL+OgKB0496デフォルトの名無しさん
2014/06/08(日) 23:49:23.31ID:0ybo3LG4おまえが何を言っているのかよくわからない。
ていうか、自分がわかってないだけだろ。
0497デフォルトの名無しさん
2014/06/09(月) 01:06:47.47ID:XaG4yhUa0498デフォルトの名無しさん
2014/06/09(月) 01:20:19.44ID:quK33S+UAVX 以降は「専用ハードウェア」が入っているらしい
http://peace.2ch.net/test/read.cgi/tech/1192628099/337
0499デフォルトの名無しさん
2014/06/09(月) 01:30:26.49ID:7KvpyEFp0500デフォルトの名無しさん
2014/06/09(月) 08:54:20.67ID:9rhLvykPってのは乱数じゃないよな
どう見ても
0501デフォルトの名無しさん
2014/06/09(月) 08:57:33.70ID:t5f3UYqy0502デフォルトの名無しさん
2014/06/09(月) 10:11:13.10ID:0wp3BeLpそれだけの話なんだが。
0503デフォルトの名無しさん
2014/06/09(月) 10:15:20.72ID:0wp3BeLp0504デフォルトの名無しさん
2014/06/09(月) 11:57:14.10ID:dLnT9sND0505デフォルトの名無しさん
2014/06/09(月) 13:00:09.87ID:w5pULqfp0506デフォルトの名無しさん
2014/06/09(月) 14:22:42.28ID:8gvU9cRE出来れば淫数と予備隊。
0507デフォルトの名無しさん
2014/06/09(月) 14:25:39.03ID:EjU0b0TW0508デフォルトの名無しさん
2014/06/09(月) 14:42:13.60ID:WYLHhV4p0509デフォルトの名無しさん
2014/06/10(火) 01:16:14.10ID:NONZII8t誰か分かりやすく説明してください。
0510デフォルトの名無しさん
2014/06/10(火) 01:40:28.92ID:g5Yp38/Dそんな解説サイトは山ほどあるので、
ググって10個くらい熟読してから、
それでもダメなら諦めましょう
0511デフォルトの名無しさん
2014/06/10(火) 01:47:31.20ID:ZXkL1tuI再帰を使わない方法なら判る?
0512デフォルトの名無しさん
2014/06/10(火) 08:08:51.06ID:w9WFMXlw机の上に500円玉と10円玉と1円玉を積み重ねる
Nが3の場合のプログラムの動作と比較しながら動かす
0513デフォルトの名無しさん
2014/06/10(火) 10:23:44.24ID:Asjcm40bたいていのプログラムは、正解ありきで上の円盤から動かす前提で書いてあるから、
それを直接理解しようとするとわかりにくい。
棒を 1 2 3 として、塔を 1 → 3 に動かしたい、とするだろ。
すると、その手続きは次のように分解できる。
・ 一番下の円盤を除く塔を 1 → 2 に動かす
・ 一番下の円盤を 1 → 3 に動かす
・ 残りの塔を 2 → 3 に動かす
これで、動かす必要のある塔のサイズがN-1になったわけだから、
これをどんどん再帰的に適用してゆけば、円盤だけを動かす手順まで
分解できる。
0514デフォルトの名無しさん
2014/06/10(火) 10:35:17.31ID:2vb7DWIFが、いま話題のハノイの塔、あるいはそれに関連する塔はハノイのどこにありますか?
0515デフォルトの名無しさん
2014/06/10(火) 10:42:35.25ID:Asjcm40bインドのベナレス(ワーラーナシー)にある、という話になってるんだろう。
0516デフォルトの名無しさん
2014/06/10(火) 13:12:41.55ID:5o9Z0dmDその感想はほとんど理解している。
再帰の計算力に気づいているわけだから。
0517デフォルトの名無しさん
2014/06/10(火) 16:41:40.27ID:xo5SfOIJ0518デフォルトの名無しさん
2014/06/10(火) 16:43:33.18ID:xo5SfOIJ0519デフォルトの名無しさん
2014/06/11(水) 14:33:34.65ID:QAZZuHs2最終局面Cの1つ前の局面はB、その前はAなら
A(B(C))
これは、Aを呼ぶと、Bを呼んで、Cを呼んで、
Cが処理され、Bが処理され、Aが処理される
呼ぶ順が、A→B→C
処理される順が、呼ぶ順の逆で、C→B→A
ゲーム木でもよく出てくる
最終局面を取れば勝つ場合に、
いきなりCへ持っていくのは、難しいので、
その前の局面Aを目指すとか
0520デフォルトの名無しさん
2014/06/11(水) 22:15:16.94ID:01hDVrAo0521デフォルトの名無しさん
2014/06/20(金) 07:05:54.29ID:8+/CaDiySwiftで脱アルゴリズム!
iOS開発を関数型(宣言型)プログラミングへパラダイムシフトしてみる【脱アルゴリズム宣言�@】
0522デフォルトの名無しさん
2014/06/20(金) 11:50:08.13ID:UkLSHGsY0523デフォルトの名無しさん
2014/06/20(金) 14:33:02.92ID:VkQHLz+nおまえ何様?
反論あったら表から具体的にどうぞ?
多少オーバーなレトリックはあったものの、内容にはなんら矛盾はないね
好評だったし、お誉めのメールも何通か頂いたが?
0524デフォルトの名無しさん
2014/06/20(金) 14:50:48.37ID:UkLSHGsY本人かよ。
みなさんに通告です。
このスレには「毛の壁」と呼ばれているバカが常駐しましたので、
しばらくレスにはご注意ください。
0525デフォルトの名無しさん
2014/06/20(金) 16:15:26.24ID:QkksQtMn関数型プログラミング(によって書かれたコード)とかアルゴリズムの最たるもののひとつじゃねえか
0526デフォルトの名無しさん
2014/06/20(金) 16:32:31.25ID:a0oeUuGMhttps://avatars2.githubusercontent.com/u/1316994?s=460
0528デフォルトの名無しさん
2014/06/20(金) 20:49:13.82ID:fiYVjyLmツッコミどころはいくつかあるけど、
軽いノリで書いた記事だと思えば些細な事柄だろうし、
よくできていると評価していいレベルだと思う
自分としては、FRPに関する非関数型言語プログラマ向けの
記事を見たのは初めてだったし、
現時点でのFRP入門からSwift/iOS上のアプリケーション開発へと
どう内容をつないでいくのか?という、
著者のプログラミングと文章執筆の能力に興味がある
もし最後までたどりつけたなら、評価も大絶賛へ変わるかもしれない
期待している
0529デフォルトの名無しさん
2014/06/20(金) 20:54:30.58ID:7LN6wgSVへ?これが?
絶賛、、よくかけてる?
どひゃあー!!!!!!
脱アルゴリズム!!!
精神病やでぇ
0530デフォルトの名無しさん
2014/06/20(金) 20:56:12.91ID:7LN6wgSVへ?
へへ?
へへへのれれれ!
http://peace.2ch.net/test/read.cgi/tech/1403215505/18
0531528
2014/06/20(金) 21:02:27.05ID:fiYVjyLmどうせカキコするならこのスレじゃなくて
この板か新Mac板のSwiftスレにすれば
スレ住人の反応も違ったものになっていたと思う
0532デフォルトの名無しさん
2014/06/20(金) 21:07:56.30ID:UkLSHGsYhttp://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0533デフォルトの名無しさん
2014/06/20(金) 21:23:26.72ID:bvHvYDuS0534デフォルトの名無しさん
2014/06/21(土) 06:31:53.10ID:w9O3o4sx数学やれ。出直してこい
岡部健さんの真意をなに一つ理解してなかったことがわかる
まあ無駄だろうけど
0535デフォルトの名無しさん
2014/06/21(土) 11:47:33.30ID:dLpzMh1j>>532
0536デフォルトの名無しさん
2014/06/21(土) 13:37:30.18ID:dwrmXJNu原始人かお前らは?
0537デフォルトの名無しさん
2014/06/21(土) 14:20:46.12ID:98vgiiX3ぷぷぷ
0538デフォルトの名無しさん
2014/06/21(土) 14:53:56.17ID:fFa5Dk5fおまえら、「数学やれ」。
0539デフォルトの名無しさん
2014/06/21(土) 14:54:34.09ID:fFa5Dk5f0540デフォルトの名無しさん
2014/06/21(土) 15:32:24.01ID:rl9mUq6v0541デフォルトの名無しさん
2014/06/21(土) 17:39:33.52ID:/6VRtGE8ぷぷぷ
0542デフォルトの名無しさん
2014/06/21(土) 17:40:01.08ID:/6VRtGE8精神病だと見抜けない、三流君、乙!
0543デフォルトの名無しさん
2014/06/21(土) 17:47:22.43ID:/6VRtGE8本人歯カッコイイとおもってるんだろうが
ありゃ、露骨に精神病の写真
特徴は線源した世界を、それのみがありうる世界とみなし、演繹的帰結は、それまた直ちに世界そのものとかみなすこと
アホさらけ出しのアルゴリズムの独善的定義と、そこからの演繹
もろそのものズバリ
もし
>>528が、本人の自演でないなら、そのあたり把握できん同類じゃないか?
要するに、精神病か形而上頭のオバカさん
0544デフォルトの名無しさん
2014/06/21(土) 17:47:59.96ID:/6VRtGE8○宣言
0545デフォルトの名無しさん
2014/06/21(土) 23:41:14.26ID:oxWL7iix0546デフォルトの名無しさん
2014/06/22(日) 01:16:03.62ID:upDz43Y5プロトコール
と
ルーティーン
だな
0548デフォルトの名無しさん
2014/06/22(日) 21:57:11.46ID:zl3FAxHi0549デフォルトの名無しさん
2014/06/24(火) 13:06:46.35ID:PkfA062Rttp://qiita.com/kenokabe/items/821ce4020644372b648c
0550デフォルトの名無しさん
2014/06/24(火) 13:14:34.87ID:B+cmMGNoネットでの批判に対して、ねちねちと記事の中で攻撃してるのが笑える
要するに形而上学頭で馬鹿ということ
0551デフォルトの名無しさん
2014/06/24(火) 13:30:57.89ID:MKS7z3Yfガチで関数型やreduceやmapはアルゴリズムでないと思ってたのか
真性だったとは
0552デフォルトの名無しさん
2014/06/24(火) 13:36:10.33ID:AfD6RzLLhttp://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0553デフォルトの名無しさん
2014/06/24(火) 15:39:07.42ID:4uvPp5vFここまでアレコレ記事をかけるってのは一つの才能だな
0554デフォルトの名無しさん
2014/06/24(火) 17:49:39.30ID:6s2VwAqcコイツここまで言われて自分がアホだってまだ気付いてないのか
0555デフォルトの名無しさん
2014/06/24(火) 17:57:03.88ID:YQzGnuEQうーむ
0556デフォルトの名無しさん
2014/06/24(火) 18:36:15.52ID:YQzGnuEQこの人のTwittersickuserという別ブログ読んだけど、
精神的にアレな人なんじゃない??
0557デフォルトの名無しさん
2014/06/24(火) 18:58:09.06ID:AfD6RzLLhttp://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0558TON
2014/06/24(火) 22:03:17.38ID:rW7Z7bUU昨日から突然500人ぐらい閲覧数が急上昇したのは確かに俺が宣伝したことだけど、
お前は自分の書いたことに自信があるんだろ?だったら宣伝してやったようなもんだ。怒るなよ。
あと、俺だけに切れるな。月琴さんにも怒れw
0559デフォルトの名無しさん
2014/06/24(火) 23:28:30.77ID:4uvPp5vF0560デフォルトの名無しさん
2014/06/25(水) 04:27:40.49ID:Qab2L3Zv0561デフォルトの名無しさん
2014/06/25(水) 04:45:54.09ID:RqZOIKvI0562デフォルトの名無しさん
2014/06/25(水) 11:13:03.66ID:Fqus7fR8はずかしい
0563デフォルトの名無しさん
2014/06/25(水) 12:04:27.28ID:GNkL2J2x0564デフォルトの名無しさん
2014/06/25(水) 13:23:41.34ID:Qmk+f2Xz>パラダイムを指し示す」のであり、その他の使用は一般的ではない、ということです。
勉強になるな。
0565デフォルトの名無しさん
2014/06/25(水) 15:25:18.64ID:z2YOEiqgあほ
0566デフォルトの名無しさん
2014/06/25(水) 16:52:04.37ID:sLvKN4KO0567デフォルトの名無しさん
2014/06/25(水) 18:34:01.55ID:ih8uR3Oe>「アルゴリズム」とは「バズワード」であり、「一般的に命令型プログラミングパラダイムを指し示す」のであり、
>その他の使用は一般的ではない、
0568デフォルトの名無しさん
2014/06/25(水) 19:03:06.54ID:gOHbwnP90569デフォルトの名無しさん
2014/06/26(木) 02:29:54.50ID:IafH8hir0570デフォルトの名無しさん
2014/06/26(木) 02:53:42.20ID:+Qf6QLv/この人病人だと思う
0571デフォルトの名無しさん
2014/06/26(木) 04:12:38.68ID:CytiCPlPここでも暴れ出したし
0572デフォルトの名無しさん
2014/06/26(木) 04:36:56.10ID:wMY3ZtFA0573デフォルトの名無しさん
2014/06/26(木) 05:25:55.42ID:CytiCPlPこりゃまた酷い発言が
パラダイムという概念がまるでわかってないな
アルゴリズムの概念にしてもそうなんだが、哲学的認識が低すぎるくせに哲学的なことを言いたがるね、君
ズバリ精神病だろ?
特定の捉え方が心理的に付着してしまい、それ自身の捉え返しが不可能になるんだな
あとは、そこからの演繹的は構築のみ
だから、ああいうお馬鹿な形而上学的珍説が生まれてしまう
0574デフォルトの名無しさん
2014/06/26(木) 05:27:26.24ID:nwumEtrQ(´・ω・`)
/ `ヽ. お薬増やしておきますねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
0575デフォルトの名無しさん
2014/06/26(木) 05:29:07.81ID:CytiCPlPわははは
俺を精神疾患者だとしたいのか?
無能、必死のアイデアか?
笑止
0576デフォルトの名無しさん
2014/06/26(木) 05:34:25.20ID:nwumEtrQ(´・ω・) チラッ
/ `ヽ.
__/ ┃ __i |
/ ヽ,,⌒)___(,,ノ\
(´・ω・`)
/ `ヽ. 今度カウンセリングも受けましょうねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
0577デフォルトの名無しさん
2014/06/26(木) 05:36:49.34ID:dL4T43XuON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM
http://www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf
0578デフォルトの名無しさん
2014/06/26(木) 05:44:12.40ID:Dt5A64wL精神病は恐ろしい
0579デフォルトの名無しさん
2014/06/26(木) 07:28:13.71ID:8Y9ANwf/,.-―: ̄`ー::::::::::、 (
/::::::::::::.::::::::::::::::::::::::::::`::、、 ,, ) )
/::::::::::::::::::::::::::::::::::::::::::::::::::::::`、 ゙ミ;;;;;,_ (
l::::::::::::::::::::::::::::::::::::::::;':l:::::::::::\::l ミ;;;;;;;;、;:..,,.,,,,,
l:::::::::::::::::::::::::::::::::,,::::::::;-,:,::::::::::::::::l i;i;i;i; '',',;^′..ヽ
l::::::::::::::::,_,.::::,';::::::;:::::: :: l ::::::::::::::l ゙ゞy、、;:..、) }
l::::::::::/-/:::/-ニ,.::::/=,./::::::::::l .¨.、,_,,、_,,r_,ノ′
ヽ:::: ´、ひ> ;: l .<ひ>' 、::::::::/ /;:;":;.:;";i; '',',;;;_~;;;′.ヽ
ヽ:::::  ̄ .)::; l  ̄ l::::/ ゙{y、、;:...:,:.:.、;:..:,:.:. ._ 、}
、:::::.. /:::; .,-、 l:::/、 ".¨ー=v ''‐ .:v、,,、_,r_,ノ′
,―:::::::: ゝヽ- ー' 、 l::/,、ヽ /;i;i; '',',;;;_~⌒¨;;;;;;;;ヾ.ミ゙´゙^′..ヽ
l,、,、,,:、:: / ,--、,-.、_ l /::::::,、,、l ゙{y、、;:...:,:.:.、;、;:.:,:.:. ._ .、) 、}
l,、,、,、,、,、::、 `ー ̄-' /:::::::::::,、,、l ".¨ー=v ''‐ .:v、冫_._ .、,_,,、_,,r_,ノ′
l,、,、,、,、,、,、::ヽ /::::::::、,、,、,、,ノ:\ /i;i; '',',;;;_~υ⌒¨;;;;;;;;ヾ.ミ゙´゙^′.ソ.ヽ
l,、,、,、,、,、,、,、,、,,ー― ':::::::,、,、,、,/,、,、,、,、,` ゙{y、、;:..ゞ.:,:.:.、;:.ミ.:,:.:. ._υ゚o,,'.、) 、}
/,、,、,、,、,、,、,、,、,、:::::::::::::::::::::::::::、,、、,、,、,、,、,、,、 ヾ,,..;::;;;::,;,::;):;:;:; .:v、冫_._ .、,_,,、_,,r_,ノ′
0580デフォルトの名無しさん
2014/06/26(木) 11:53:37.34ID:xrLN/Cc3極度に知能が劣ってるんだと思うよ。
人より二段くらい下というか。
0581デフォルトの名無しさん
2014/06/27(金) 01:24:44.73ID:6uE5vYGa0582デフォルトの名無しさん
2014/06/27(金) 01:38:14.80ID:w0MUEsVa0583デフォルトの名無しさん
2014/06/27(金) 06:00:31.24ID:6gnfhLnKわはは
俺の著作は国会図書館にゴロゴロ
面白いこというやつだな
評価能力皆無の暴露乙
0584デフォルトの名無しさん
2014/06/27(金) 06:00:57.08ID:6gnfhLnKおまえ、おかべ?
笑いが止まりません
0585デフォルトの名無しさん
2014/06/27(金) 16:27:19.70ID:iQ4reeO8ぶっちゃけた話、電波本も収蔵してるし。
OPACで調べると多数の大学図書館が所蔵してる事の方がまだいい。
0586デフォルトの名無しさん
2014/06/27(金) 16:41:54.37ID:IT4HMvNlレスはこっちのスレに書くようにしてください。
http://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0587デフォルトの名無しさん
2014/06/28(土) 03:09:06.82ID:QkllHUOQ0588デフォルトの名無しさん
2014/06/28(土) 06:00:01.53ID:ceaE8o9Rさすがは脱毛頭頂
0589デフォルトの名無しさん
2014/06/28(土) 06:00:48.78ID:ceaE8o9Rおまえ、精神病の岡部町だろ
0590デフォルトの名無しさん
2014/06/28(土) 18:30:22.98ID:ZqFHAVH4岡部のこと言ってることがおかしかったら論理的に反論してみろ
0591デフォルトの名無しさん
2014/06/28(土) 18:32:33.68ID:KiCN9c2h0592デフォルトの名無しさん
2014/06/28(土) 18:33:17.36ID:ow7ZB3pO0593デフォルトの名無しさん
2014/06/28(土) 18:35:17.84ID:KiCN9c2h0594デフォルトの名無しさん
2014/06/28(土) 18:37:30.59ID:KiCN9c2h俺が岡部なら理解できる人と親しくなりたいと思うだろうな。
つまりお前らは岡部から嫌われるべくして嫌われた。
脱アルゴリズムという一語にとらわれてカリフォルニア大卒の
秀才から見放されたブタどもw
0595デフォルトの名無しさん
2014/06/28(土) 18:41:51.97ID:ceaE8o9Rほーら、もろ精神病
写真ももろ精神病
底辺で精神病なんてやだなあ
0596デフォルトの名無しさん
2014/06/28(土) 18:43:23.09ID:ceaE8o9Rあははは
おまえ、認識が浅いんだよ
科哲でも勉強しろ
むだかなあ、その形而上学頭じゃ
だから、精神病なんだしな
0597デフォルトの名無しさん
2014/06/28(土) 18:44:19.53ID:ago1EUHohttp://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0598デフォルトの名無しさん
2014/06/28(土) 18:44:59.94ID:KiCN9c2h∩___∩
,.-―-、 | ノ ノ ヽ\
∩|~_ヽ.╋/∩ / ● ● |
| ノ⌒ ̄ ̄⌒ヽ ミ ( _●_) ミ
/ ● ● | 重症クマ /  ̄ ̄\/⌒ゝ
| ( _●_) ミ 彡 / ̄ ̄ ̄ ̄ ̄ ̄ ̄
彡 |∪| 、゛ .ミ ヘ_/:::
| ヽノ 〈 . プス! . ミ ミ::::::::
〉、 ヽ._ _.\___ ミ ヽミ:::::
ヽ、__.〉|=|==|(⌒)++++][コ==-〇 \:::
 ̄ ̄ ̄ ̄ ̄ \ \___ ヽ:
0599デフォルトの名無しさん
2014/06/28(土) 18:45:04.70ID:ceaE8o9Rおやおや、自分で脱アルゴリズムは単なる扇動のための表現と認めたな
おまえのやってることは人をだましてイメージ植え付けるやり方
それを指摘されてぶち切れるあたり
もろ精神病
0600デフォルトの名無しさん
2014/06/28(土) 18:47:03.44ID:KiCN9c2h誰が何にどう騙されたのかな?お〜ん?
0601デフォルトの名無しさん
2014/06/28(土) 18:49:07.49ID:KiCN9c2h0602デフォルトの名無しさん
2014/06/28(土) 18:50:55.34ID:2CixPdeMビローン
/_ノ ' ヽ_\
/(≡) (≡)\
/::::::⌒(__人__)⌒:::::\
| |r┬-| |
,.--――\ `ー'´ /――--、
( ) ( ̄  ̄) ( )
ヽ  ̄| | ̄ /
ヽ | э | /
ヽ、_( ,,,, ,ノ __ノ
/ 、(U)ノ \ ̄
/ /´ `\ \
/ / \ \
0603デフォルトの名無しさん
2014/06/28(土) 18:54:50.95ID:KiCN9c2hパシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ
パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ パシャ
∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
( )】 ( )】 ( )】 【( ) 【( ) 【( )
/ /┘ . / /┘. / /┘ └\ \ └\ \ └\ \
ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ ノ ̄ゝ
0604デフォルトの名無しさん
2014/06/28(土) 20:27:13.51ID:fEs+jdDC0605デフォルトの名無しさん
2014/06/28(土) 22:27:38.54ID:DAhf0dEphttp://matogrosso.jp/engineer/engineer-01.html
>藤井 コードはわかる、というか、数式での理解が苦手なんです。数式で見ても
>よくわからないんですが、コードになったアルゴリズムで見れば「あぁ!」って
>腑に落ちる。群とか集合とかの処理の方法なんかもコードで見たほうがわかるんですよね。
こんなことってあるの?
数式でわからないものが、コードで書いたらわかったなんて経験ないんだけど。
そういう人もいるのか、単にハッタリなのか?
0606デフォルトの名無しさん
2014/06/28(土) 22:45:54.42ID:S3hAxR/50607デフォルトの名無しさん
2014/06/28(土) 23:18:32.01ID:Wnh+uZwR上とか下とか小さく書いてあったりするのが
英単語混じりで一列に並ぶから
0608デフォルトの名無しさん
2014/06/29(日) 00:10:58.39ID:jxL17uOJ差分方程式に変形してプログラムにまでなればなんとなく、とか。
ただ、あまり良いことじゃない。抽象を扱えない頭だと、後々苦労する。
0609デフォルトの名無しさん
2014/06/29(日) 00:45:43.60ID:osp1rgt9機関の妨害が入っているようだな
そのようなものに私が屈すると思ったかっ!
全ては脱アルゴリズムの選択だっ!
エル・プサイ・コングルゥ
オカリンは凄いね〜wwwww
0610デフォルトの名無しさん
2014/06/29(日) 02:56:13.63ID:6ywxiUqJhttp://gigazine.net/news/20140623-ama-cern/
0611デフォルトの名無しさん
2014/06/29(日) 09:17:18.99ID:TGhI+LW9数式をプログラムコードにして実行すると、計算結果の数値やグラフを見てイメージがつかめる、っていうなら判る。
0612デフォルトの名無しさん
2014/07/01(火) 03:58:16.28ID:VC0m3k7v1-100をこの順番で追加したら、rootが1となり、
どんどん右側へ追加されていき、
直線となって、2分木にならない
B-Tree, 赤黒木は、どうやって木の高さをそろえているの?
0613桃白白 ◆9Jro6YFwm650
2014/07/01(火) 05:55:58.42ID:zDJRF/6W左の子が親より小さく、右の子が親より大きいって
いうのが満たされてれば、一直線となっても立派な2分探索木でござるよ。
効率は悪いけど。
B-Treeはノードが持つ子の数に制限を設けて、子の数がいっぱいになったら
ノードを分割していく感じ。すべてのリーフノードの高さは同じになる。
赤黒木は色をチェックして平衡化を行ってく。
黒ノードがB-Treeのノードに対応するから、黒ノードの数が左右で同じになる。
0614デフォルトの名無しさん
2014/07/01(火) 07:36:37.26ID:NR0eMQV0アルゴリズムの本を1冊は持っておけ
0615デフォルトの名無しさん
2014/07/01(火) 08:44:01.18ID:G0peUy8I0616デフォルトの名無しさん
2014/07/01(火) 09:36:03.07ID:NR0eMQV0その煽りの面白さがおじさんにはさっぱりわからんわ
0617デフォルトの名無しさん
2014/07/01(火) 11:14:27.31ID:/zCy2KR20618デフォルトの名無しさん
2014/07/01(火) 12:19:37.68ID:29jmPgpF「知的でタメになるつっこみの仕方」
監修・吉本興業
を一冊持ってろ
0619デフォルトの名無しさん
2014/07/01(火) 14:15:02.29ID:WdBXMFPF0620デフォルトの名無しさん
2014/07/01(火) 19:19:42.82ID:XUFkTk0Yまず木の回転は順序保ったまま高さを調整できる。
あとは回転をどういう条件でやるかで赤黒木・AVL木とかに分かれる。
B木は二分木じゃないのでまた別
0621デフォルトの名無しさん
2014/07/01(火) 21:26:27.54ID:lJh4uqZb平衡二分木なら、まず原理が簡単なAVL木を勉強しよう。
次にspray木。
次に2-3-4木(これは二分木ではない)、赤黒木(2-3-4木の二分木化)。
0622デフォルトの名無しさん
2014/07/01(火) 22:02:39.89ID:iG7VjtU1頭が固くなってきているせいか、なかなか辛い
0623デフォルトの名無しさん
2014/07/01(火) 22:07:09.65ID:wjCbvLq3そのレスを見るとあまりタメにならなそうな気が…
0624デフォルトの名無しさん
2014/07/02(水) 08:28:35.69ID:s8DtebR30625デフォルトの名無しさん
2014/07/02(水) 08:32:51.18ID:8QRdpiH3あぼーん推奨ワード
0626612
2014/07/02(水) 12:59:56.47ID:UOkv1KGW載せている本なんて、無いだろ?
載っていたら買うけどさー
載せられないということは、かなり難しいと言うこと
0627デフォルトの名無しさん
2014/07/02(水) 14:24:59.48ID:IpihKmr8http://www.amazon.co.jp/dp/4764903091/
0628デフォルトの名無しさん
2014/07/02(水) 20:13:43.24ID:FQajgQTrにも、載ってた気がする
実家に置いたままだわ
0629612
2014/07/02(水) 23:26:01.30ID:UOkv1KGW2分木の回転については、10行ほどしか載っていなかった
プログラミング・コンテスト・チャレンジブックにも、
2分木の回転・平衡化は載っていない
オライリーの「入門 データ構造とアルゴリズム」には、
AVL木の回転について、図入りの説明が載っていた
でも赤黒木を詳細に説明した本は無い
Linuxのタスクディスパッチで使っているのに
ところで2分木で、nullの代わりに、
番兵を使っているものがあったが、
番兵を使った方がよいのか?
0630デフォルトの名無しさん
2014/07/02(水) 23:48:15.85ID:sVSUUVOR木の回転 https://ja.wikipedia.org/wiki/%E6%9C%A8%E3%81%AE%E5%9B%9E%E8%BB%A2
AVL木 http://www.geocities.jp/m_hiroi/light/pyalgo12.html
赤黒木 http://www.geocities.jp/m_hiroi/light/pyalgo16.html
番兵は性能よりもコードをシンプルにするためのもんだし、お好みでどうぞ
0631デフォルトの名無しさん
2014/07/02(水) 23:56:44.88ID:RK8C0ZnBいやいや、シンプルになっても終了条件が見えなくなってリーダビリティ下がるでしょ。
前処理と後始末がいることも多いしコメント必須になる。
性能上がらないなら使うもんじゃない。
0632デフォルトの名無しさん
2014/07/03(木) 00:11:23.34ID:qo0RbgmN多少短く書ける以外に価値がほぼないから、趣味の領域かと
0633デフォルトの名無しさん
2014/07/03(木) 00:24:13.05ID:qo0RbgmN使い方次第で可読性が下がるし
0634デフォルトの名無しさん
2014/07/03(木) 08:34:15.19ID:5WHzWYtz0635デフォルトの名無しさん
2014/07/03(木) 09:12:49.19ID:xp4LuS6yアルゴリズムを必ずしも記述する必要はないが、
結局糞みたいな処理速度にならないために隠蔽されたアルゴリズムを
意識せにゃならなくなるから脱アルゴリズムは飛ばし過ぎ
0636デフォルトの名無しさん
2014/07/03(木) 10:39:28.42ID:QCtThtAwアルゴリズムってそういうものなんだけど
0637デフォルトの名無しさん
2014/07/03(木) 11:07:32.82ID:HJPE9W5O最近のCPUじゃあ定数倍最適化にもならないんじゃない?
分岐の投機的実行があるから。
0638デフォルトの名無しさん
2014/07/03(木) 13:02:24.53ID:jKZw1Onx良い場合もあるという報告があったし(※)、正直、個々の機械で実アプリで
確かめない限り、何も言えん。
ただ、勉強としては色々なモディファイがあるというのは抑えておいた
ほうが良い。速度だけじゃなくモディファイが要ることはよくある。
(※)
普通は、確率が50%→25%→12.5%→....といった順に並べたほうが、先に結果が
確定するから速い、というのが定石なのだが、そうすると分岐予測的には最悪に
なるので、確率が低いほうから ...→12.5%→25%→50%のように並べたほうが速い
プロセッサがある。
0639デフォルトの名無しさん
2014/07/03(木) 14:32:49.20ID:2p/tvR1B>12.5%→25%→50%のように並べたほうが速い
ほうほう、なるへそ
0640デフォルトの名無しさん
2014/07/03(木) 15:25:04.31ID:H6q9tJaf0641デフォルトの名無しさん
2014/07/03(木) 17:09:24.39ID:/vji65t/0642デフォルトの名無しさん
2014/07/03(木) 17:13:20.97ID:0MY1anpd0643デフォルトの名無しさん
2014/07/03(木) 17:43:08.65ID:LtdUn3Av0644デフォルトの名無しさん
2014/07/03(木) 18:40:39.03ID:jKZw1Onxhttp://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0645デフォルトの名無しさん
2014/07/03(木) 23:43:57.28ID:Tn3/IHEN最近は実行時プロファイル取ってJITします。
0646デフォルトの名無しさん
2014/07/04(金) 01:16:13.84ID:FWLzKTbt>2分木の木の高さをそろえる方法まで、
>載せている本なんて、無いだろ?
上にもでてる、岩波の「アルゴリズムとデータ構造」石畑清のをみたいけど、
この話題、AVL木、B木で数十ページつかって詳しく解説してたよ。
というかこのあたり読んでなかった。
やっぱ日本人の書いたアルゴリズム本のなかでこれは良い方だと思う。
0647デフォルトの名無しさん
2014/07/04(金) 07:29:05.29ID:llTgxSpv0648デフォルトの名無しさん
2014/07/04(金) 07:55:14.81ID:Mhkj+G22Webに載ってる情報で我慢するしかないのかー
0649デフォルトの名無しさん
2014/07/04(金) 08:04:47.39ID:iKaePYIV0650デフォルトの名無しさん
2014/07/04(金) 08:26:55.29ID:gfxFeYJy親への参照をもたせると参照のはりかえがかなり複雑になる
0651デフォルトの名無しさん
2014/07/04(金) 09:38:02.44ID:S//BcKLx"Algorithms" Robert Wayne, Kevin Sedgewick
どっちも amazon の書評わろす
0652デフォルトの名無しさん
2014/07/04(金) 11:56:44.81ID:twdVMSoxとか
「データ構造とアルゴリズム」
ってタイトルの本多過ぎ
0653デフォルトの名無しさん
2014/07/04(金) 12:00:57.86ID:mFyW8OWx0654デフォルトの名無しさん
2014/07/04(金) 12:09:47.36ID:twdVMSox一字一句完全に同じタイトルの本がいくつもありすぎて紛らわしいので
もっと工夫すれば良いのにと思った
0655デフォルトの名無しさん
2014/07/04(金) 13:48:11.44ID:woY7u5MP>>650
sedgewick読めばいいのに。
この人はアルゴリズム解析屋だからそのへんは結構しっかり書いてる。
Knuthのところ出身。
0656デフォルトの名無しさん
2014/07/04(金) 16:02:33.27ID:sBqWnM4NNiklaus Wirth: 「アルゴリズム+データ構造=プログラム」日本コンピュータ協会
浅野哲夫: 「データ構造」近代科学社
桐山清: 「C言語によるデータ構造とプログラム書法」森北出版
近藤嘉雪: 「定本 Cプログラマのためのアルゴリズムとデータ構造」ソフトバンク
渡邊敏正: 「データ構造と基本アルゴリズム」共立出版
のどれにも、AVL木(バランス木)の回転の解説あるよ
0657デフォルトの名無しさん
2014/07/04(金) 16:19:55.17ID:woY7u5MP均衡二分木はあまり実行効率が良くないAVL木中心だし、
多分木派生の二分木は赤黒じゃないし。
しかも言語がPascal。
言語屋さんだけあってコードは綺麗。
0658デフォルトの名無しさん
2014/07/04(金) 16:27:00.41ID:iKaePYIV総合版は武器にもなってお得だぞ。
0659デフォルトの名無しさん
2014/07/05(土) 10:32:09.33ID:5deLSK6V0660デフォルトの名無しさん
2014/07/05(土) 13:44:41.02ID:R8cFDXwQセジウィック新版
の二択だな。
アルゴリズム・イントロダクションをちら見してみて挫折しないようならこっちやればいい。
この二冊ほどしっかり書けてる本はほとんどない。TAOCPは実装言語が独自すぎて除外。
0661612
2014/07/06(日) 02:00:23.53ID:+YGfR2l7石畑清のは、AVL木の回転について、図入りの説明がある
ただし、25年前の本で、ソースコードがPascal
0662デフォルトの名無しさん
2014/07/06(日) 03:16:22.62ID:3qD8tN7VしかしPascalだから困るという意見が結構多いのが不思議。
アルゴリズムを説明するためのたかが数十行のコード、言語仕様やライブラリに
深く依存しているわけでもないプログラム読むのにそんな苦労するのか?
疑似コードとして読めばいいでしょ。俺もPascal知らんけど充分理解できるよ。
もひとつ言っとくと、石畑清の本、巻末にちゃんとCとLISPのコード例も付録
で載ってるんだよ。ほんとは持ってないんじゃないのお前ら?
コピペしかできない知恵遅れにも安心(笑)
0663デフォルトの名無しさん
2014/07/06(日) 07:43:12.94ID:ETigXUGgOff by one エラーに注意しながら書き直す必要がある。
これが面倒。
0664デフォルトの名無しさん
2014/07/06(日) 09:25:03.24ID:PgwRX7N+1オリジンを他のオリジンに直すだけだろう?簡単な線形変換をかますだけなのでは?
ま、2オリジンに書き直すなら多少のぐちゃぐちゃは厭わないが、1オリジンを0オリジンにわざわざ直す必要もない
0665デフォルトの名無しさん
2014/07/06(日) 23:35:38.44ID:I8o/e02M0666デフォルトの名無しさん
2014/07/07(月) 06:33:10.27ID:iqLntt6B0667デフォルトの名無しさん
2014/07/07(月) 12:41:09.24ID:mcdr45lPバランスしてるからオーダーは良いが、
オーダーを計算する時に無視する定数部が悪い。
均衡二分木がAVL木しか書いてない本はとてつもなく古い。
0668612
2014/07/07(月) 23:46:14.44ID:dH0g1YaP漏れは研究家で、本はプログラミング・コンテスト・
チャレンジブックしか持っていない
漏れは立ち読みするから、誰よりも厳しいよw
まず図を載せていない著者を評価しない。
そういう著者はコピペしているだけで、
本当にアルゴリズムを作っていないかも
いかに読者に解かりやすく説明できるか?
まず図を作る段階で、戦いは始まっている
0669デフォルトの名無しさん
2014/07/08(火) 00:19:27.31ID:WA0uMVhUhttp://www.oreilly.co.jp/books/9784873116341/
>インド工科大学(IIT)と企業の両方で豊富な経験を持つインド人著者による、
>実例豊富なデータ構造とアルゴリズムの解説書。
この本の評価どうですか?
0670デフォルトの名無しさん
2014/07/08(火) 03:59:34.21ID:KMzZlwYF0671デフォルトの名無しさん
2014/07/08(火) 06:23:28.25ID:C3Ow5lln誰よりも厳しいよww
評価しないwww
0672デフォルトの名無しさん
2014/07/08(火) 08:35:30.86ID:+1SkhcPXさて働こう…
0673デフォルトの名無しさん
2014/07/08(火) 20:48:31.13ID:KjaCWqA1不正確だ
挿入で必要な木の回転は、ただの一回だけ、問題は削除だね。これは AVL も赤黒木も同じ
削除が頻繁におこなわれるのなら、左右のバランスのゆるい赤黒木がいいね
0674デフォルトの名無しさん
2014/07/09(水) 00:42:28.78ID:nWprtmY/0675デフォルトの名無しさん
2014/07/09(水) 23:39:21.70ID:8efLPFpl0676デフォルトの名無しさん
2014/07/09(水) 23:51:22.77ID:9Qxa4e890677デフォルトの名無しさん
2014/07/10(木) 13:54:07.94ID:iLbfPtwrていうかPascalないしAlgolは、いちいち勉強なぞしなくとも読むのにそうは苦労しないだろ。
Algolには名前呼びとか変な機能があるが、普通はそういうトラップは回避して説明に使うから。
0678デフォルトの名無しさん
2014/07/16(水) 08:34:15.83ID:uBdPgdk4関数型プログラミングとオブジェクト指向の抜き差しならない関係について整理して考える
お、これはなかなか優秀な人が現れたな。わかりやすい良エントリ。
0679デフォルトの名無しさん
2014/07/16(水) 09:49:46.76ID:VblCYr0vスレ違いです。こちらへどうぞ。
【毛の壁】脱アルゴリズム宣言【FXST】
http://peace.2ch.net/test/read.cgi/tech/1403215505/
0680デフォルトの名無しさん
2014/07/16(水) 23:55:51.33ID:FEyT2AKy川中 真耶
http://www.amazon.co.jp/dp/B00JGI5H2I/
Amazonのレビューでも評価低いけど、この本意外に良書やね。
もっとレベルが低いのかと思ってたけど、二分木だとAVL木の回転とかまで
ちゃんと説明している。
ただ、レビューでも触れられているけど、ストーリー仕立てにする意味が
ほとんどないというか、単純につまらない。
こういうのが受けると思ったんだろうけど、キャラクターにも魅力がない。
Kindle版だと安いから買って読む価値はある。
0681デフォルトの名無しさん
2014/07/20(日) 00:43:35.51ID:YW/aq4b0https://sites.google.com/site/adtalgo/home
0682デフォルトの名無しさん
2014/07/20(日) 10:13:30.44ID:S7UqHs8v【これは】重大な誤り【ひどい】
1つ本当にひどい誤りを含んでおりました。本当に申し訳ありません。恥ずかしくて夜も寝られません。
P. 33
O(aN) = O(eN)
この文章の記述は大嘘です。デタラメです。
指数の底を変えることは出来ません。
そもそも数式の展開も誤っています。
指数の場合も同様で〜〜となる。の文を削除。
わろ・・・えない
0683デフォルトの名無しさん
2014/07/20(日) 18:39:54.82ID:FWtSwDTqお前らには難しくくて縁のない本が多い?
0684デフォルトの名無しさん
2014/07/20(日) 19:43:15.82ID:8B88F9S3| `゙''ー- 、 ________
| ,. -‐ ''´ ̄ ̄`ヽ、_ /
|, - '´ ̄ `ヽ、 /
/ `ヽ、ヽ /
_/ ヽヽ/
/ / / / / / ヽハ
く / /! | 〃 _/__ l| | | | | | | ||ヽ
\l// / | /|'´ ∧ || | |ー、|| | | l | ヽ
/ハ/ | | ヽ/ ヽ | ヽ | || /|ヽ/! |/ | ヽ
/ | ||ヽ { ,r===、 \| _!V |// // .! |
| || |l |ヽ!'´ ̄`゙ , ==ミ、 /イ川 |─┘
| ハ|| || | """ ┌---┐ ` / // |
V !ヽ ト! ヽ、 | ! / //| /
ヽ! \ハ` 、 ヽ、__ノ ,.イ/ // | /
┌/)/)/)/)/)/)/)/)/)/)lー/ ` ー‐┬ '´ レ//l/ |/
|(/(/(/(/(/(/(/(/(/(/│|| |\ 〃
r'´ ̄ヽ. | | ト / \
/  ̄`ア | | | ⌒/ 入
〉  ̄二) 知ってるが | | | / // ヽ
〈! ,. -' | | ヽ∠-----', '´ ',
| \| | .お前の態度が | |<二Z二 ̄ / ',
| | | _r'---| [ ``ヽ、 ',
| | | 気に入らない >-、__ [ ヽ !
\.| l. ヽ、 [ ヽ |
ヽ| \ r' ヽ、 |
0685デフォルトの名無しさん
2014/07/20(日) 22:33:37.10ID:3rueaPG+0686デフォルトの名無しさん
2014/07/21(月) 20:25:53.74ID:Ecx8KQMM0687デフォルトの名無しさん
2014/07/23(水) 01:29:55.54ID:dHvcLkvH買い直した方がいいぐらい違いが大きいんですか?
0688デフォルトの名無しさん
2014/07/23(水) 08:13:43.33ID:Qr1azPSkhttp://it.slashdot.jp/story/14/07/22/0613210/
0689デフォルトの名無しさん
2014/07/24(木) 22:18:02.88ID:wzSFtnz7現代的なほとんどの言語(特に動的型付言語)では、多くのパターンが適用できない
(適用しても、バッドパターンにしかならない)
Javaなどの一部の古めかしい静的型付言語では、まだ頼る余地は残っていたが
そのJavaでさえも関数型の要素を取り入れ、設計が大幅に変わってきている
GoF自体の改定でもなければ、改めて学ぶ価値はない
0690デフォルトの名無しさん
2014/07/24(木) 22:53:43.17ID:GcACTNu80691デフォルトの名無しさん
2014/07/29(火) 17:13:50.87ID:qGOKoo8w重みなし無向グラフの場合、ダイクストラ法より反復深化の方が計算量少なくて済むんですか?
0692デフォルトの名無しさん
2014/08/19(火) 13:41:16.96ID:46ZruSDnhttp://gigazine.net/news/20140819-visualgo/
0693デフォルトの名無しさん
2014/08/31(日) 09:31:36.46ID:TsfChlj70694デフォルトの名無しさん
2014/09/14(日) 13:15:21.81ID:bjSSfYoR>「アルゴリズム」とは「バズワード」であり、「一般的に命令型プログラミング
>パラダイムを指し示す」のであり、その他の使用は一般的ではない、ということ
>です。
勉強になるな。このページ。
0695デフォルトの名無しさん
2014/09/14(日) 15:45:42.81ID:FbNt5hSiどこらへんが?
0696デフォルトの名無しさん
2014/09/14(日) 16:00:30.06ID:r0J72yK/http://peace.2ch.net/test/read.cgi/tech/1403215505/l50
0697デフォルトの名無しさん
2014/09/16(火) 02:48:17.06ID:BRRsQsEe0698デフォルトの名無しさん
2014/10/07(火) 20:54:36.34ID:3NSGj8n/0699デフォルトの名無しさん
2014/10/24(金) 21:39:41.30ID:VyYUZ4Z50700デフォルトの名無しさん
2014/10/24(金) 21:46:02.67ID:zvGM4ELq0701デフォルトの名無しさん
2014/10/24(金) 21:54:38.69ID:VyYUZ4Z50702デフォルトの名無しさん
2014/11/25(火) 23:14:09.49ID:ghl2SNY10703デフォルトの名無しさん
2014/11/26(水) 16:03:51.97ID:cap+vDqw0704デフォルトの名無しさん
2015/02/04(水) 10:21:19.15ID:QfhTV/If0705デフォルトの名無しさん
2015/02/21(土) 15:18:37.61ID:Bqyo/mYz結城本みたいなトイプログラムじゃなくてちゃんと仕事に活かせるコードや考え方が載ってる
もっと評価されるべき本だと思う
0706デフォルトの名無しさん
2015/02/21(土) 17:25:01.22ID:Qj5PkULS0707デフォルトの名無しさん
2015/03/16(月) 00:54:31.01ID:pKR+yvmi0708デフォルトの名無しさん
2015/03/16(月) 01:07:48.91ID:EXoRrBXi0709デフォルトの名無しさん
2015/03/16(月) 06:58:50.72ID:dto99C0o0710デフォルトの名無しさん
2015/03/19(木) 20:04:29.25ID:rGfQi3lSアマゾン・アルゴリズム
アルゴリズム体操
0711デフォルトの名無しさん
2015/03/23(月) 20:17:07.02ID:v5lqXW2+あんたなあ・・・ ハァ。
線形代数の教科書の行列、ベクトルは全部、添字1からだろ。
それをC言語では0から始めなければならないから「1つズレ」の
バグがでるんだろう。
あんたの言ってることは本末転倒だ。この田分け!
唯一の例外がFFT。唯一、添字が一定成分に対応した0から始まるから
0712デフォルトの名無しさん
2015/03/23(月) 23:50:39.23ID:VDUQlxD5おらの教科書では自然数は 0, 1, 2, ....
0713デフォルトの名無しさん
2015/03/24(火) 00:52:58.38ID:MX5B1wfa0714デフォルトの名無しさん
2015/03/24(火) 01:10:04.30ID:Ve+M57ZM算術の基礎になれないような集合に「『自然』数」なる名称を与えて特別視する理由がない。
で、0なしの{1,2,...}ではペアノ算術のモデルすら構成できないんだから、
自然数に0入ってなきゃ困ります。
0715デフォルトの名無しさん
2015/03/24(火) 02:16:41.68ID:qocM3p7p自然数にもゼロが会った方が自然な気はするな
0716デフォルトの名無しさん
2015/03/24(火) 03:17:40.76ID:O1VRnX3Oただ正の整数と同じ意味なら言葉が勿体無いから0も入れればいいじゃん
0717デフォルトの名無しさん
2015/03/24(火) 12:37:46.16ID:c6mpFC050718あ
2015/04/04(土) 09:36:37.38ID:zehumhhzアルゴリズム知ってる人、思いつく人いたら教えてほしい
隣で比較する基礎の解放ではなく最小手順
5,6,3,2,4,1 → 1,2,3,4,5,6 にする最小手順
0719デフォルトの名無しさん
2015/04/04(土) 09:42:25.65ID:QuAhdSHj結果として1,2,3,4,5,6を返せばいいw
0720あ
2015/04/04(土) 09:46:00.61ID:zehumhhz0721あ
2015/04/04(土) 09:49:01.47ID:zehumhhz上では1-6って書いたけど、0-99の100個の数字を最小回数でソートしないと
いけない問題に今ぶつかってて。誰か賢い人いたら助かるなーって思って書いてみた
0722デフォルトの名無しさん
2015/04/04(土) 10:00:43.23ID:QuAhdSHj1,2,3,4,5,6と決まった数字がランダムに並んでだけだよね?
どうランダムに並んでようが、ソート結果は常に1,2,3,4,5,6になるんだから、
最初からその結果を用意しておいて、どういう並びであってもそれを1回返せばいい
ということ。
宿題の意図としては求めてないだろうから無視していいけどね。
0723デフォルトの名無しさん
2015/04/04(土) 10:12:22.71ID:8tbUo2zRttp://www.it-shikaku.jp/top30.php?hidari=02-02-02.php&migi=km02-02.php
それじゃ何か足りないの?
0724デフォルトの名無しさん
2015/04/04(土) 11:37:48.38ID:9IYCOCMdsleepsort
0725あ
2015/04/04(土) 16:50:06.49ID:zehumhhzありがとう、平均回数も乗ってるこのページ凄い役だった
とりあえず、これでやってみる。>>724 何、これ初めて見たw
みなさん、ご協力本当に感謝します。
0726デフォルトの名無しさん
2015/04/04(土) 21:12:22.13ID:vj4bzuy0質問者の質問の意味は、最小 sorting network を求めろってこと?
0727デフォルトの名無しさん
2015/04/04(土) 21:26:57.58ID:w5ibkrLo0728デフォルトの名無しさん
2015/04/04(土) 21:55:13.09ID:vj4bzuy00729デフォルトの名無しさん
2015/04/04(土) 22:21:32.50ID:bg9jdXhF0730デフォルトの名無しさん
2015/05/16(土) 22:03:28.98ID:y/t4uXt/検索アルゴリズム的にはスマートホン、コンビニエンスストアの方が10倍早く検索できるんだよな。
記憶力をよくしたかったら、省略するのをやめましょうね。
0731デフォルトの名無しさん
2015/05/17(日) 05:07:39.56ID:M9Jld2yxあ・思い出した
ア、はいいよね
0732デフォルトの名無しさん
2015/05/17(日) 06:49:06.78ID:MQbFTiCx面白い脳味噌してるなコイツ
0733デフォルトの名無しさん
2015/05/17(日) 12:03:39.74ID:Cq+Owzl6理屈が分からないのですが、もう少し詳しく説明していただけませんか。
同趣旨のことを解説したネット上の記事を紹介していただけるだけでも構いません。
0734デフォルトの名無しさん
2015/05/18(月) 10:30:22.61ID:DlA37DUd0735デフォルトの名無しさん
2015/05/18(月) 20:00:18.97ID:qgceviCBそれでは曖昧すぎて説明になっていないんじゃないかな。
どのようなデータ構造に対してどのようなアルゴリズムで検索するときに、
検索対象「スマホ」よりも検索対象「スマートホン」の方が10倍早いと言っているのか。
こういうのを話す場でしょ、ここは。
まぁ元々が曖昧だから、>>730以外だれも説明できないとは思うが。
0736デフォルトの名無しさん
2015/05/30(土) 23:11:38.07ID:GbYkPqTcは収録数の少ないシソーラス辞書しか持っていないらしい
0737デフォルトの名無しさん
2015/07/30(木) 16:31:15.15ID:gNKRMuak0738デフォルトの名無しさん
2015/07/30(木) 19:32:45.75ID:StheyCIu解る者が居れば答えるし、そうじゃなければ放置されるだけ
0739デフォルトの名無しさん
2015/07/30(木) 20:18:42.09ID:oAGEjgo80740デフォルトの名無しさん
2015/07/31(金) 14:17:38.86ID:qB8zjiMbそしてそれは地図を斜めに線分したものに対象である。
そのときの計測時間が余りにも違うのですが、これは何が主な原因でしょうか?
ttp://gmdev.xrea.jp/st/up/1090.png
ttp://gmdev.xrea.jp/st/up/1091.png
0741デフォルトの名無しさん
2015/07/31(金) 15:24:20.10ID:qnWPb5RQ左上から順に探索してるから開始位置によって処理時間違うとかかな?
マップを上下/左右反転して同じコース走らせてみたらもう少し詳しくわかるかも
0742デフォルトの名無しさん
2015/07/31(金) 18:33:06.81ID:qB8zjiMbttp://gmdev.xrea.jp/st/up/1092.png
ttp://gmdev.xrea.jp/st/up/1093.png
左右はまだ試していませんが多分同じ結果になるかと。
一応補足として、# of calclation は
while (!openList.isEmpty()) {
count++; ....
です。
上下反転したときの経路は元と違って同じですし。
しかし、この四つの中で違うのは時間だけでほかは経路サイズも、#も一緒っていう。
A*って元々こんな特性なんでしょうか?
0743デフォルトの名無しさん
2015/07/31(金) 19:02:30.87ID:km5orOmSこれ斜め移動できるっぽいのに何で真ん中通らないの?
0744デフォルトの名無しさん
2015/07/31(金) 19:13:51.36ID:qB8zjiMb家の隅を思い浮かべてもらえればいいかと思います。
0745デフォルトの名無しさん
2015/07/31(金) 22:14:18.76ID:pNhxtvtu時間が掛かる方はスタート位置から全方向に探索し始めるけど、
もう一方は限定されてるから、その辺の違い?
0746デフォルトの名無しさん
2015/07/31(金) 22:43:26.98ID:rVmFBF2u0747デフォルトの名無しさん
2015/08/01(土) 00:40:27.40ID:hEjnOg+p0748デフォルトの名無しさん
2015/08/02(日) 19:09:42.88ID:vmnF+S0Uもっと単純なマップから少しずつ複雑化して試してみたら?
□□□□□□□
□□□□□□□
A□□□□□B
□□□□□□□
□□□□□□□
↓
□□□□□□□
□□□■□□□
A□□■□□B
□□□■□□□
□□□□□□□
↓
□□□□□□□
□■■■□□□
A□□■□□B
□■■■□□□
□□□□□□□
こんな感じで
0749デフォルトの名無しさん
2015/08/03(月) 16:26:23.97ID:JJqkNluJオープンリストをみて見ると、探査時間が遅いほうが根元(付近)がよく茂っていました。
原因が判明してスッキリしました。ありがとうございます。
一応これでA*の実装は終了しようと思います。最適化は時間かかるし、ほかのアルゴリズムも組んでみたいので。
>>748
一本道の迷路で試したところ、経路の大きさが9と探査のとき、時間が半端なくかかってしまいました。
多分複雑なマップはA*には向いていないのかもしれません。
同じ経路探査として、こんなのを見つけたのですが、ゲームに使うとしたらこっちのほうが面白そう。
ttp://codezine.jp/article/detail/94
てか、
0750デフォルトの名無しさん
2015/08/03(月) 19:33:29.19ID:MJUDpxg+キャッシュに乗りやすいなどの、
メモリ特性が異なるのかも
キャッシュ的には、直前に使ったアドレスを、
繰り返し使って、廃棄する方が、
使用メモリも少なくて、速いのだろう
0751デフォルトの名無しさん
2015/08/03(月) 20:24:42.14ID:t5WJQOuJ0752デフォルトの名無しさん
2015/08/04(火) 02:23:14.81ID:TrY1gttZ0753デフォルトの名無しさん
2015/08/04(火) 05:58:48.09ID:r3CWXwbphttp://jsdo.it/jagarikin/bNMK
0754デフォルトの名無しさん
2015/08/04(火) 07:41:15.54ID:Ryo/DS3S人間は目で見てゴールまでの経路を探索するからそれが分かるんだけどさ。
こういうアルゴリズムは、例えるなら一歩先しか見えない状態で、
進める全方向に枝葉を伸ばして探索していくから、
何も無いとパターンが増えて時間が掛かるんだよ。
ちなみに。ゲームで使われるてるし、カーナビとかグーグル地図のルートだとか、
ネットのサーバーまでのパケットが通る通信経路とかの探索で使われている。
0755デフォルトの名無しさん
2015/08/04(火) 07:53:11.90ID:TrY1gttZ何も無い状態なら、一番距離が小さくなる枝が選ばれ続けるから、一直線だよ。
0756デフォルトの名無しさん
2015/08/04(火) 07:57:35.38ID:faHT6mnEA*の探索範囲
https://www.youtube.com/watch?v=moUOV-zzJ0Q
0757デフォルトの名無しさん
2015/08/04(火) 09:30:31.14ID:TrY1gttZその動画、 0:05 あたりの探索範囲が怪しい。
明らかにゴールから遠ざかるような点も探索してる。
どこか間違えてると思う。
https://www.youtube.com/watch?v=DINCL5cd_w0
あたりのほうが適切そう。
0758デフォルトの名無しさん
2015/08/04(火) 10:06:00.63ID:faHT6mnE確かに少しおかしいけど
障害物が無い空間でも最大でひし形のような範囲を探索するはず
0759デフォルトの名無しさん
2015/08/05(水) 00:37:22.34ID:GWKF7o0G新しいのから探索すると起こらない。
0760デフォルトの名無しさん
2015/08/05(水) 02:01:34.48ID:+qWU8RMV**A***_***B**
_***_____***_
橋本環奈が出ている、NHKのアルゴリズム子研究所で、
カーナビの経路探索で、ダイクストラ(または、A*)で、
AB両点から探索しているのを見たけど、
ABの回りも、少し探索していた
0761デフォルトの名無しさん
2015/08/05(水) 07:27:53.77ID:yAAa1oiVいやコストの問題だろ
直線距離+正確なコストだから
斜めだと正確なコスト分少し伸びるんだよ
だから明らかに遠ざかるような探索もする
0762デフォルトの名無しさん
2015/08/05(水) 23:00:40.63ID:GWKF7o0Gそっちの問題だと、菱形に広がるパターンにはならない気がする。
ちなみに、そっちの問題は、直線距離の代わりに適切な距離を使えれば防げる。
上下左右にしか動けないならマンハッタン距離とか。
0763デフォルトの名無しさん
2015/09/12(土) 19:15:00.05ID:iWaQs0bI0764デフォルトの名無しさん
2015/09/12(土) 19:16:45.23ID:Wv3ZRkcl0765スモモンガー
2015/09/12(土) 19:31:58.04ID:iWaQs0bIhttp://sumomonga.at-ninja.jp/reseach/kangaroo/head.html
アルゴリズムの原理は単純で探索中の辺やレコードとの距離を隣接するの辺やレコード間の値の差の
最大値で割ってその数分進めば探索の辺やレコードを飛び越えないということなんだ。
単純なアルゴリズムだからもうすでに先駆者がいないかどうか調べてみたんだが一応今のところ
発見できなかった。もし、既出だったらスマソ。
もともとは多角形と直線の交点を求めるために作ったんだが今は探索のアルゴリズムに応用できないか
と考えている。まあ、ぶっちゃけバイナリサーチを使えばいいんじゃないかといわれそうだが。
正直上のホームページの説明も分かりにくいと思うから(俺は説明が下手なんだスマソ)ダウンロードペーから
ダウンロードして直接ソースみたほうがこのスレの住民ならわかると思う。
なんか長文になってすまん。
どうぞよろしくお願いします。
0766デフォルトの名無しさん
2015/09/12(土) 19:32:59.56ID:64Xb/9UR0767スモモンガー
2015/09/12(土) 19:35:17.81ID:iWaQs0bIって題名で論文出しているからそっちのほうが少し説明がまとも
0768デフォルトの名無しさん
2015/09/12(土) 19:38:40.39ID:iWaQs0bI0769デフォルトの名無しさん
2015/09/12(土) 19:59:23.62ID:Wv3ZRkclここの Y は X じゃね。ていうか Y は k の関数 Y(k) じゃね。
ソースにコメントつけたらどうだ。
構造体 line の int a,b,c とか意味が分からん。あとラムダは lambda な。
二乗するのに pow() とか使ってんな。ていうか直線との距離に sqrt なんていらんだろ。単位法線との内積を取れ。
0770スモモンガー
2015/09/12(土) 20:23:27.44ID:iWaQs0bIわざわざ下手な説明と汚いソース読んでいただきありがとうございます。確かに、Y/lじゃなくX/lですね。
今夜中に直しておきます。ただ、Yはkだけに依存するものではないので、Y(k)とするのはまちがっていると思います。
構造体のa,b,cはax+by+cのa,b,cです。直線との距離は単位法線との内積をとったほうが確かに早そうですね。
二乗はpowを使わないほうがいいんですか。勉強になります。ソースコードのほうはちょっと俺の力
ではすぐ直せそうにないので明日直そうと思います。あらためてになりますが、読んでいただいてありがとうございます。
0771デフォルトの名無しさん
2015/09/12(土) 21:06:00.39ID:Yzh+CkQkhttp://ci.nii.ac.jp/naid/170000087558
どっちも内容同じ?
0772デフォルトの名無しさん
2015/09/13(日) 09:11:22.28ID:n3zvmQA3http://www.amazon.co.jp/dp/4798044784/
こんなのでた。
面白そう。
0773スモモンガー
2015/09/16(水) 21:09:13.76ID:k300cqkh>>771
私は二つ投稿してないんですが(汗)一回修正入れたんでそのせいかもしれないです。新しいほう
が間違えがないんじゃないかと思います。
0774デフォルトの名無しさん
2015/09/17(木) 01:36:24.28ID:h/C+p+kSどの言語を使えばいいですか?
宝くじの攻略に使いたいんですが
htmlとVBを10年前にやったことがある程度の能力しかありません
0 7 �A 3 �D 6 8 �H �@ 4
と毎回不規則に並んでいる数字から毎回不規則に4つ選び、
該当の2591の形がどのパターンなのかを判断するというソフトです
さらにこのとき選ばれた2591を別の不規則の数列に当てはめたときも判定するようにしたいです
0 �A 4 6 8 �@ 3 �D 7 �H
この数列のときはどの形なのか・・・という具合にです
これを平日の間手動でやるのは限界があったので
0775デフォルトの名無しさん
2015/09/17(木) 09:31:31.86ID:8C/CtMhx0776デフォルトの名無しさん
2015/09/17(木) 15:49:14.71ID:jeXjMZOh何も見ずに書けるようになるとか?
0777デフォルトの名無しさん
2015/09/17(木) 16:56:57.71ID:RFJKEvXv0778デフォルトの名無しさん
2015/09/17(木) 17:07:55.21ID:ylAQcAdLどういう処理がしたいかよくわからんけど
データがすくないならスクリプト言語,多いんならC++でも使えば?
0779デフォルトの名無しさん
2015/09/18(金) 00:53:57.52ID:kZ1aVgi2セジウィックや、オライリーのインド人の本など、
アルゴリズムの本は、一杯出ている
>>774
丸で囲んだ数字などの、
MS-CP932の機種依存文字を使うな。
これらは、Shift-Jisにも属さない文字
0780デフォルトの名無しさん
2015/09/18(金) 02:38:17.41ID:YgOe18UvShift-Jisとかいう独自規格のことは知らないけど
0781デフォルトの名無しさん
2015/09/18(金) 17:33:44.18ID:uevEmGa3オライリーの本調べてみたら問題がたくさんのってるようですね。
解いて勉強すればいいということですか
0782デフォルトの名無しさん
2015/09/18(金) 20:20:23.43ID:7AiId5VKとりあえず解いていけばよい
まずは既存のアルゴリズムを知ること
そして問題に対して適切なアルゴリズムを適用して解決できるようになること
0783デフォルトの名無しさん
2015/09/18(金) 22:37:30.79ID:U/4/CI9Xやってみます。ありがとうございます。
0784デフォルトの名無しさん
2015/09/19(土) 08:38:55.46ID:mo1gDnuH0785デフォルトの名無しさん
2015/09/19(土) 08:49:47.26ID:g55jIHl10786デフォルトの名無しさん
2015/09/19(土) 09:12:37.94ID:h/dwjgiw0787デフォルトの名無しさん
2015/09/19(土) 09:22:06.02ID:5cHEEdwc0788デフォルトの名無しさん
2015/09/20(日) 13:08:11.01ID:hRep6fdc確率のいい教科書はありませんか測度論までケアしてくれるやつ
0789デフォルトの名無しさん
2015/09/20(日) 13:48:42.32ID:ZXXgaQ/P・測度と積分 入門から確率論へ
・はじめての確率論 測度から確率へ
この辺りを読まれてはいかがでしょうか。
0790デフォルトの名無しさん
2015/09/20(日) 16:19:22.10ID:hRep6fdc上の奴って品切れみたい,空手踊りとか肉体系で楽しそうだね
0791デフォルトの名無しさん
2015/09/20(日) 17:05:20.53ID:hheo9oaFプロ仕様だけど
0792デフォルトの名無しさん
2015/10/06(火) 19:59:51.30ID:uxUTfTFS下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
0793デフォルトの名無しさん
2015/10/08(木) 08:03:53.85ID:Np+b0DPsナンバーズ4っぽいから、期待値の高い組み合わせを出したいんだろう。あれ、誕生日で買ったら当たっても安いんだよね。
0794デフォルトの名無しさん
2015/10/18(日) 19:20:01.26ID:mdnTkxCG0795デフォルトの名無しさん
2015/10/21(水) 12:58:47.56ID:ngwDS6AM2200円のこれを200円で買った俺って勝ち組?
http://i.imgur.com/6zlSiQq.jpg
0796デフォルトの名無しさん
2015/10/21(水) 13:08:25.20ID:Zr5MZtBC0797デフォルトの名無しさん
2015/10/31(土) 13:45:30.59ID:8+WZrGwR選手は毎年どんどん出現してきて、引退した選手もファイルに残ります。
ファイル名は必ずユニークなIDで、同じファイル名は存在しません。
ここまで仕様確定です。
もし、Aチームの選手はAフォルダに格納される方式を取ったとき、
チームに所属する選手はすぐ出せると思います。
しかし特定の選手を探したいときは難しくなります。
(例えば1990年の得点王選手のIDが記録されていたとして、そのIDにアクセスするのは若干めんどうです)。
そして、引退した選手も保存されるので、ファイルは一方的に増えて行きます。
100万や200万、1000万になるかもしれません。(どのくらいかは知りません)。
確実にアクセスは遅くなり、間違った方法だと検索も大量に取られます。
どのファイルがどこのフォルダに保存されてるのか記載するにしても、もしも仮にDが1億も並んでるとアホの極みと思うわけです。
良さそうな方法考えてください。
0798デフォルトの名無しさん
2015/10/31(土) 13:49:09.94ID:vcVH8w6b0799デフォルトの名無しさん
2015/10/31(土) 15:20:54.63ID:eH4IcMDe0800デフォルトの名無しさん
2015/10/31(土) 18:50:14.31ID:yGf9dC8aデータベース使え案件だけど無理なら自前で
選手IDをキーにしたB+木のインデックスファイルをつくり
それから検索する
0801デフォルトの名無しさん
2015/10/31(土) 22:26:55.40ID:RIZFllKe外部データ連携するB+木とか自前で用意する方がリスク高いんじゃないの
しかも用途が野球なら実際に必要になる18人と監督+α以外ほぼ無駄データなわけで
そんなもんをまじめに管理するよりゲームの面白さに注力しろって意味でも
DB使え
0802デフォルトの名無しさん
2015/11/01(日) 20:12:40.65ID:MVvuxbKY0803デフォルトの名無しさん
2015/11/01(日) 20:16:08.48ID:cyCCNHZp面白いのかそれ?w
0804デフォルトの名無しさん
2015/12/01(火) 15:30:58.86ID:jz4WAacM0805デフォルトの名無しさん
2015/12/02(水) 19:19:28.88ID:A58rIrCf知りたいのは以下の様なものです
---
for (int i = 0; i < 10; i++)
do_something(i);
これをクラスに展開して
int i = -1;
static bool Next() { ++i < 10; }
static int Value { get { return i; } }
static void Main() {
while (Next())
do_something(Value);
}
---
このように変換する方法について調べたいのです
実際に欲しいのはN重ループをフラットに繰り返しで処理する方法です
自力で解こうとしたのですが、どこかで勘違いをしているようで、うまく動いてくれません
名前が分からないと調べようがないので助けてください
0806デフォルトの名無しさん
2015/12/02(水) 22:20:37.79ID:yyIVeakG0807デフォルトの名無しさん
2015/12/03(木) 00:25:03.13ID:74Kx8KXhそうです
Iteratorパターンというのですか?
このパターンについて調べてみたのですが多重ループを解く方法については記述が見当たりませんでした
0808デフォルトの名無しさん
2015/12/03(木) 15:48:13.76ID:5y9yFaIO0809uy ◆Qawu9.2l1E
2015/12/03(木) 18:57:59.03ID:tK7Nyube0810805
2015/12/03(木) 20:32:43.77ID:74Kx8KXhありがとうございました
0811デフォルトの名無しさん
2015/12/08(火) 20:54:01.39ID:vWrFkfhW0812デフォルトの名無しさん
2015/12/08(火) 23:56:43.50ID:/pdSfCvKありがち
デザパタ厨のやつが作ったクラスが
全部createInstanceだらけで使いにくいだけのクソが出来上がってた
まさに早すぎる抽象化
やるならせめてDIとかリフレクションや
アノテーションを使えやって思った
0813デフォルトの名無しさん
2015/12/11(金) 12:43:43.71ID:fYAYo2Esn = 100のとき以下の3つの条件を満たす単位分数の組みを考える
1/n1 + 1/n2 + ....+ 1/nk = 1 (1)
n1 + n2 +....+nk = n (2)
n1 < n2 < ....<nk (3)
これをプログラミングを用いて解きたいのですが、いい方法が思い浮かばなくて困っています
何か方法ありましたら、教えてください
0814デフォルトの名無しさん
2015/12/14(月) 23:31:43.15ID:R0gDPv6y数学のループ記述はよく分からないので、プログラム風に書くとこうです。
x = (a * x + b) % mod;
xが上書きされて何度も順番に使用さていると言う意味です。
% mod は割った余りです。
32bit環境なら
mod = 2 ** 32;
となっています。(つまり上記の式は32bitで表現できる最大値未満の乱数がxとして算出され、次の乱数生成にまた使用されます)。
64bit環境なら
mod = 2 * 64;
となっています。
x の初期値は何が入っていても構いません。(例えば式の初回使用時などに適当な値を入れます。例えば今の時間とか)。
a と b は定数で、これを何に設定するかによって乱数が良質であるか悪質であるか、また使える周期の長さが変わります。
周期が長くて良質な物を出すとき、これに何を設定すると良いのか分からないので教えてください。
32bit用と64bit用の両方をお願いします。
ちなみに、それを考えるのがどの程度大変 (または簡単) なことか分からんで質問してます。
0815デフォルトの名無しさん
2015/12/15(火) 18:58:35.99ID:y7r4C3dc例から適当に拾え
てか 線形合同法 定数 あたりでググればソースと解説があるだろ
0816デフォルトの名無しさん
2015/12/15(火) 19:00:49.31ID:GmzcEDm20817デフォルトの名無しさん
2015/12/15(火) 21:14:19.01ID:rY8ZFzdV>>816
ありがとうございます
0818デフォルトの名無しさん
2015/12/23(水) 02:29:13.85ID:WaYE86JMそれ解はあるの? 無限に続くのでは?
0819デフォルトの名無しさん
2015/12/23(水) 08:55:42.31ID:2+dP2nJG単位分数って言ってるんだから、各 nk は 1 以上の整数だ。
条件 (2) によって nk は有限個しかないよ。
この条件を満たす解が存在するかどうかは知らん。
アルゴリズム的にはどうなんだろうな。
単純に条件 (2) と (3) に合うものを 1/2 + 1/98 から順に網羅していって、
条件 (1) に合うものをピックアップしていくというのはクソ遅いかな。
もちろん、浮動小数点でやったら誤差が出るから、すべて整数計算だけど。
0820デフォルトの名無しさん
2015/12/23(水) 11:58:26.07ID:oLnMv084「よい」アルゴリズムのオーダーは知らないけど, 分割数の漸近公式だけ見れば少なくとも準指数時間アルゴリズムになる
0821デフォルトの名無しさん
2015/12/23(水) 14:39:33.46ID:oLnMv0840822デフォルトの名無しさん
2016/01/04(月) 07:49:13.32ID:quO35K88日本の人工知能はクソ
0823デフォルトの名無しさん
2016/01/04(月) 12:41:00.87ID:21yj4oPz0824デフォルトの名無しさん
2016/01/05(火) 21:09:57.94ID:i0IFFoJB0825デフォルトの名無しさん
2016/01/20(水) 23:38:29.66ID:epdaSdlJ0826デフォルトの名無しさん
2016/01/21(木) 22:44:56.10ID:vB+/Osfo翻訳家ごときが主張を勝手にねじまげてはいけないのです
0827デフォルトの名無しさん
2016/01/22(金) 00:08:33.24ID:raZVxvb6もしもエラッタが出てるとしてもそれも反映するんじゃなくエラッタとして翻訳して付けるだろうし
0828デフォルトの名無しさん
2016/01/23(土) 22:24:00.13ID:gfbrLyNS昔、「フォトンマッピング」という、
原著の間違い(計算式も含め)が大量に修正されていて、
挿絵まで挿入されて、しかも原著より安いという驚きの翻訳本があった。
まぁ、原著に間違いが多かったのには、それなりの訳があったんたが。
0829デフォルトの名無しさん
2016/01/24(日) 04:41:54.83ID:QDUQ11dL海外の出来事のほとんどがまともに入って来ない
0830デフォルトの名無しさん
2016/01/24(日) 06:35:32.21ID:4ZCEMBL40831デフォルトの名無しさん
2016/01/25(月) 00:49:21.41ID:DXoTpOvlお前の言ってることは実社会を無視した単なる教条主義
翻訳にしろ何にしろ他人に役立つ仕事をするのに必要なのはpragmatismだよ
ニートして自分の部屋にこもってないで偶には人様の役に立つ仕事をしに外に出ろよ
0832デフォルトの名無しさん
2016/01/25(月) 06:29:16.92ID:8H4JYu/t0833デフォルトの名無しさん
2016/01/25(月) 11:08:55.31ID:qRGGYULG原著者に問い合わせるだろう普通w
0834デフォルトの名無しさん
2016/01/29(金) 04:26:25.65ID:1+b9HDsX集合知プログラミングという悪しき前例もあるし
0835デフォルトの名無しさん
2016/02/07(日) 12:46:18.16ID:l17BC95H要望ではUIレイヤを総入替してAPレイヤをリファクタリングしたいということになっています
しかし現実ではそもそもUIとAPとDBが密結合していてレイヤという概念は存在しません
こういった案件で役立つアーキテクチャスタイルやパターンは何でしょうか
DBの変更が効かないのでドメインモデルパターンは実質不可能です
全てを諦めて貧血モデルとトランザクションスクリプトを使うしかないのでしょうか
リファクタリング案件なのにコードが綺麗になる未来が見えません
0836デフォルトの名無しさん
2016/02/07(日) 15:38:18.60ID:Ah5srJ1tなんとかレイヤってからには基本設計レベルでは元々レイヤはあったんでしょ
それらが実際は密結合しているのが嫌なんでしょ
つまりレイヤを疎結合にするのが目的なわけでしょ
だからUIレイヤを総入替するわけでしょ
将来的なリファクタリングを見据えて疎結合にするのが先なんじゃないの
コードが綺麗とかリファクタリングするとかはその先の話でしょ
0837デフォルトの名無しさん
2016/02/07(日) 16:19:13.81ID:Ah5srJ1t現実にリファクタリングにお金払う会社なんて存在しないからね
たぶん内部事情に詳しい客とか上の人とかが強調して言ってるだけで要件ではないよね
リファクタリングなんて曖昧な言い方は止めて上手いこと見積りに含めないと
現実には行われない可能性が高いね
0838デフォルトの名無しさん
2016/02/28(日) 14:04:19.66ID:kcbLGyy1テキストファイル用のリポジトリから集約を全件取得
オラクルDB用のリポジトリに対して取得した各集約を保存して最後にコミット
という何気無い処理にもかなり時間がかかっています
リポジトリパターンは業務用システムで実用に耐えうるのでしょうか
0839デフォルトの名無しさん
2016/02/28(日) 21:39:59.71ID:rqKeW9kJ考え方がおかしい
それってあくまでも層が違うモジュールをぶった切って設計やテストをしやすくするって用途だから
業務の永続化手段として使うものじゃないよ
0840デフォルトの名無しさん
2016/02/28(日) 22:00:28.10ID:cktW2eh6よくわかりません
一般的な業務用システムでは永続化層を設けないのですか?
0841デフォルトの名無しさん
2016/02/28(日) 23:13:58.36ID:rqKeW9kJまあ遅いって判断してるわけだから
何かやり方がおかしいんだよ
0842デフォルトの名無しさん
2016/02/28(日) 23:21:17.03ID:GBJ/TPKEリポジトリパターンが遅いっていう忌みがわからんw
じゃあそのまんま同じ処理を他のやり方でやったら普通に早いの?
0843デフォルトの名無しさん
2016/02/29(月) 00:06:09.33ID:XUzsrygnバルクコピーを使うと高速になります
ですがこれはリポジトリパターンでは使えそうにありません
0844デフォルトの名無しさん
2016/02/29(月) 00:31:30.59ID:2q2DW/zb0845デフォルトの名無しさん
2016/02/29(月) 10:54:35.48ID:LDxMFaxCそのまんま同じ処理でって言ってるじゃん
バルクコピーしたら処理変わってんだろw
リポジトリパターンがその他の設計パターンで実装したものより遅いのかって聞いてんの
0846デフォルトの名無しさん
2016/03/14(月) 14:56:36.24ID:IZ2LWlGv検索キーワードだけでも教えてもらえると助かります!
123-456.zip
書類-1.doc
書類-2.doc
456-789.zip
→グループ化
123-456.zip
456-789.zip
書類-1.doc
書類-2.doc
0847デフォルトの名無しさん
2016/03/14(月) 16:02:15.36ID:9C/zUDR90848デフォルトの名無しさん
2016/03/14(月) 16:04:35.86ID:9b9aepwB0849デフォルトの名無しさん
2016/03/14(月) 18:51:10.95ID:4xYadpbt0850デフォルトの名無しさん
2016/03/14(月) 19:19:25.61ID:DzDVqAyb文字種とかで類似度の高いペアに分けるぐらいでしょ
0851デフォルトの名無しさん
2016/03/16(水) 00:01:25.62ID:MRypUzWZレーベンシュタイン距離とか
0852デフォルトの名無しさん
2016/04/05(火) 16:33:18.67ID:m6kqb6v+何かいい本はありますか?
0853デフォルトの名無しさん
2016/04/05(火) 16:46:05.13ID:m6kqb6v+http://imgur.com/PRjr5CT.jpg
http://imgur.com/41t2x4S.jpg
↑ダイクストラのアルゴリズムの正しさの証明についてですが、
3枚目の赤で囲ったあたりが分かりません。
この証明、分かる人いますか?
0854デフォルトの名無しさん
2016/04/05(火) 16:50:41.63ID:m6kqb6v+「d(x) = d(y) + l(y, x) となっているはずである。」
と書かれていますが、その後、このことは証明中で使われていないように見えます。
これは何なんでしょうか?
0855デフォルトの名無しさん
2016/04/05(火) 16:58:30.51ID:m6kqb6v+「d(x) = d(y) + l(y, x) となっているはずである。」
と書かれていますが、
d(x) ≦ d(y) + l(y, x)
ということしか言えないかと思います。
これについてはどうですか?
0856デフォルトの名無しさん
2016/04/06(水) 00:31:36.30ID:pFDX1Wjlこれに別途証明を与える必要があるかどうかは別として。
0857デフォルトの名無しさん
2016/04/06(水) 08:08:37.20ID:QfbBfCGxありがとうございます。
>>854
の疑問についてはどうでしょうか?
どうも使われていないように思います。
0858デフォルトの名無しさん
2016/04/06(水) 09:08:25.64ID:loGBTR8N「v が先に取り出されたという話ですすめてるのに、d(x) < d(v) となるような x (図にもあるとおり、この x はまだヒープから取り出されてないので、V’ には属さない) があるのはおかしい」
ってことを言いたいんだろうけど、ややこしいね。
y も持ち出さないと d(x) = d(y) + l(y, x) が最短ですってことが言えないんじゃないのかな。
0859デフォルトの名無しさん
2016/04/06(水) 23:05:03.06ID:QfbBfCGxありがとうございます。
-------------------------------------------------------------------
http://imgur.com/X6aS3J5.jpg
http://imgur.com/UyANGwz.jpg
優先度付きキュー(プライオリティーキュー)について質問です。
2枚目の画像に、優先度付きキューへキーを追加する insert(key) の疑似コードが書いてあります。
以下にそれを書きました。
insert(key)
■■H++
■■A[H] = -INFTY
■■heapIncreaseKey(A, H, key)
heapIncreaseKey(A, i, key)
■■if key < A[i]
■■■■エラー:新しいキーは現在のキーより小さい
■■A[i] = key
■■while i > 1 && A[parent(i)] < A[i]
■■■■A[i] と A[parent(i)] を交換
■■■■i = parent(i)
0860デフォルトの名無しさん
2016/04/06(水) 23:05:47.70ID:QfbBfCGxheapIncreaseKey の一番最初の if 文は必ず偽になりますから無意味であるように思います。
なぜこのような無駄なことをしているのでしょうか?
以下のようなコードになぜしないのでしょうか?
insert(key)
■■H++
■■i = H
■■A[i] = key
■■while i > 1 && A[parent(i)] < A[i]
■■■■A[i] と A[parent(i)] を交換
■■■■i = parent(i)
0861デフォルトの名無しさん
2016/04/07(木) 00:15:40.81ID:pUEgfdfMelse
などと条件分岐すると、速度も遅いし、
ややこしくてバグも増えるから、条件分岐を減らす
配列の番兵なども同じ
0862デフォルトの名無しさん
2016/04/07(木) 02:46:40.63ID:D2Sjbg8Nありがとうございます。
すみませんがよく分かりません。
if 変数
else
などとしているのは、むしろ -INFTY を代入しているコードのほうではないでしょうか?
0863デフォルトの名無しさん
2016/04/07(木) 03:52:09.66ID:BbGPO0PR優先度ヒープは一度キューに入れたオブジェクトやタスクの優先度を後から変更できた方が実用性が高いんだけど、その2ページだけなら必要ないかも。
その書き直したコードでも大丈夫かもしれない。
アルゴリズムとしてはどの本にも同じようなことが書いてあるのは当然なんだけど、 実は全く同じ擬似コードがコルメン本にある。
バイブル的な本だからそこからパクってきたのかもしれない。
もし大学の情報系の生徒だったりITの仕事で使うなら、コルメン本(アルゴリズムイントロダクション)を進める。
2冊で1万円近くなるし、ページ数も多いものの、解説や証明は丁寧だし版も重ねてるから誤訳や誤字も少ない。証明の解説も詳しい。
他の本でわからないと結局そういった名著を当たることになる。
0864デフォルトの名無しさん
2016/04/07(木) 04:55:53.13ID:pUEgfdfMそれが面倒だから、初期値を代入している
if a{
aに値が入っている時だけ、処理する
}
漏れも、JavaScriptで配列を使って、2分ヒープを作ってみたので、参考にして
2分ヒープ(BinaryHeap)
http://jsdo.it/michihito/bGH5
0865デフォルトの名無しさん
2016/04/08(金) 18:59:01.77ID:QHM1+lud行動に対する評価値を2分構文木に入れていくっていうロジックはありですか?
あと、行動すると巻き戻せない、シミュレートできないので、どうしようかなと。
行動に対するロールバックも実装しなければいけないでしょうか?
0866デフォルトの名無しさん
2016/04/09(土) 04:09:29.14ID:MwGqsbebどういうルールのゲームで、どういった種類の「行動」があって、どうして2分構文木(2分木じゃないの?)になったの?
0867デフォルトの名無しさん
2016/04/09(土) 13:01:51.57ID:FoBfIIvs基本的にはカードを出す(呪文を唱える、モンスターを出す)、物理攻撃する、パスするぐらいですかね。
あ、2分探索木じゃ行動が2つじゃないから駄目な気がしてきました。
0868デフォルトの名無しさん
2016/04/09(土) 14:42:40.27ID:MwGqsbebAIで探索木的なのを考えてるならA*を勉強してみるといいかも
0869デフォルトの名無しさん
2016/04/09(土) 15:13:16.75ID:LJnl+JdY0870デフォルトの名無しさん
2016/04/09(土) 19:20:31.07ID:aVoK2gcjどうしようかと悩みだすと結構悩むなぁ
0871デフォルトの名無しさん
2016/04/09(土) 22:57:17.76ID:O9j9lH5Y一番シンプルなのは
配列からランダムに
取って戻すのを繰り返す
0872デフォルトの名無しさん
2016/04/10(日) 00:15:07.59ID:8wDwAIGa悩むなぁとか言ってるけど、他の質問も見てると自分で何も考えてないよね?誰かがヒントと方向性示してくれるのを待ってるだけで。
0873デフォルトの名無しさん
2016/04/10(日) 00:17:50.87ID:tVvAXki70874デフォルトの名無しさん
2016/04/10(日) 08:38:44.69ID:oXSlNHSoあるがとうございました。
0875デフォルトの名無しさん
2016/04/10(日) 10:29:49.38ID:viI7M/4yhttps://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A3%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC_-_%E3%82%A4%E3%82%A7%E3%83%BC%E3%83%84%E3%81%AE%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB
0876デフォルトの名無しさん
2016/04/16(土) 19:09:43.89ID:RkF64Ds4の「領域探索」が分かりません。
どうして↓のような2分探索木を作り利用するのですか?
http://imgur.com/uRbPFzt.jpg
http://imgur.com/TSevr6v.jpg
0877デフォルトの名無しさん
2016/04/16(土) 19:11:14.59ID:RkF64Ds40878デフォルトの名無しさん
2016/04/18(月) 11:03:47.60ID:Jl/B9TZo2分探索木を使う理由は探索時間を早くするためでしょう。
うまくいけば探索数が半分になるから
>>877
二分探索木をn個の配列で実装しているので、配列の添え字をxにする方法は
xが大きな数だったり整数でなかったりの場合に都合が悪いから
ただこれデータがソートされていることが前提だよね。そのまま二次元に
展開できるのかな
0879デフォルトの名無しさん
2016/04/18(月) 20:25:41.28ID:6VYHQoTT半分どころじゃなくて log n でしょ。
配列の添え字じゃなくて配列の中身をなぜ x にしないのか聞いているんじゃないの?
0880デフォルトの名無しさん
2016/04/18(月) 20:30:02.32ID:6VYHQoTT左右のバランスがよいことが保証されるからじゃないの?
0881デフォルトの名無しさん
2016/04/19(火) 10:53:36.63ID:b4Mb+Ui92次元以上に拡張するためにはそのようにする必要がある。
0882デフォルトの名無しさん
2016/04/21(木) 01:45:04.87ID:jf1w54Av状況によっては木構造なんか作らず線形に探索した方が速いし
0883デフォルトの名無しさん
2016/04/21(木) 12:27:46.43ID:9Ocgrhnl状況によっては木構造の方が速くて線形に探索した方が遅い状況も作れるな
0884デフォルトの名無しさん
2016/04/21(木) 13:48:32.88ID:6r15gyc9では、どういう状況の場合に線形探索を利用するのか先生から説明をどうぞ
0885デフォルトの名無しさん
2016/04/21(木) 14:08:39.31ID:0vzabbtiと
Princeton系の『Algorithms』
どっちがおすすめ?
0886デフォルトの名無しさん
2016/04/21(木) 14:19:32.38ID:TG5MxLgd頭がいいなら前者、バカなら後者
0887デフォルトの名無しさん
2016/04/22(金) 08:39:42.12ID:pemVeZaHって当たり前のことをループ不変とかを使って説明しているよね。
はっきりいってくどい。
0888デフォルトの名無しさん
2016/04/22(金) 20:17:37.76ID:pemVeZaHバランスを常にとるように作ることはできる
0890デフォルトの名無しさん
2016/04/23(土) 10:50:53.22ID:M5Qy0F9UIntroduction to Algorithmsは確かにくどくて読みにくい。
別に難しい本でもない。
0891デフォルトの名無しさん
2016/04/23(土) 10:51:34.32ID:M5Qy0F9UDonald E. Knuthの本が一番。
0892デフォルトの名無しさん
2016/04/23(土) 16:24:35.42ID:jNieRcbT0893デフォルトの名無しさん
2016/04/24(日) 09:33:35.68ID:jhscNiw7石畑清の本ってAVL木の説明が出鱈目だってAmazonのレビューに書いてあった。
0894デフォルトの名無しさん
2016/04/24(日) 09:37:13.46ID:jhscNiw7Cのほうが分かりやすくない?
0895デフォルトの名無しさん
2016/04/24(日) 09:42:22.03ID:HSA/nLEW0896デフォルトの名無しさん
2016/04/24(日) 11:11:12.52ID:Z/fpIQVL0897デフォルトの名無しさん
2016/04/24(日) 13:30:26.41ID:n5HZWl0rあれは回答とかあっさりしすぎなとこあるだろ。。
0898デフォルトの名無しさん
2016/04/24(日) 18:45:27.10ID:jhscNiw7読んでいるけど、説明がいい加減すぎる。
0899デフォルトの名無しさん
2016/04/24(日) 23:44:13.95ID:pid8Qk86Narasimha Karumanchi(インド人) 著
セジウィック・石畑清が定番
川中真耶も、赤黒木の説明だったかな? わかりやすかった
0900デフォルトの名無しさん
2016/04/25(月) 08:06:15.68ID:rnP5hl5xなぜそうすればいいかが全く書かれていない欠陥本。
0901デフォルトの名無しさん
2016/04/26(火) 10:56:55.51ID:JtHly74d0902デフォルトの名無しさん
2016/04/27(水) 09:48:32.30ID:Sdx3kEFz浅野孝夫のその本、最高だな。
超詳しく省略なく書いてある。
書きすぎとかいう批判が出そうなくらいだな。
0903デフォルトの名無しさん
2016/04/30(土) 11:02:54.99ID:jYDzAJS5総合版にするか第1巻第2巻のみにするかで迷っている。
後半の特殊なアルゴリズムはいらないような気もするし。
なんで総合版って割高なの?
0904デフォルトの名無しさん
2016/04/30(土) 18:06:23.76ID:YBbs5n7s0905デフォルトの名無しさん
2016/04/30(土) 19:17:12.58ID:jYDzAJS50906デフォルトの名無しさん
2016/05/01(日) 13:40:03.98ID:tKi6j9CTBitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
q
0907デフォルトの名無しさん
2016/05/01(日) 20:44:59.79ID:u3cieUqFポインタを使っていないのはなぜなんだろうか?
Pascalってポインタを使えるよね。
0908デフォルトの名無しさん
2016/05/01(日) 21:24:53.98ID:JP6hgmB0可能な限り参照で済ませる文化だったかと
0909デフォルトの名無しさん
2016/05/02(月) 03:02:21.21ID:/Hk1TQTDどれがそうなんだって言われたら困るけど20年前よりはいい本が出てる気がする
0910デフォルトの名無しさん
2016/05/02(月) 09:17:48.88ID:F0I20g+zそうか?
日本語の本では、アルゴリズムイントロダクションくらいしか思い浮かばない。
ほかに新しくていい本なんてあるか?
0911デフォルトの名無しさん
2016/05/02(月) 13:17:36.23ID:F0I20g+z0912デフォルトの名無しさん
2016/05/02(月) 18:10:09.56ID:F0I20g+z0913デフォルトの名無しさん
2016/05/03(火) 10:25:55.27ID:xwMa7zwR数学科向けの数学書ぐらい?
0914デフォルトの名無しさん
2016/05/03(火) 14:57:28.35ID:bxMOJzqX可変長かつ連続したメモリ領域が本当に必要になるケースはOSレベルではそんなに無いって事を仮定して
・メモリ全体を1つ16バイトのチャンクに分ける
・各チャンクのアドレスの下4ビットが常に0になるので、普段はアドレスを4ビット右シフトした値を識別子として保持する
としてアロケータを組んでみてます。
32ビットの識別子で36ビット(64GiB)の空間を扱えるって利点の他に
x86_64のglibc mallocが1確保に対し管理領域として追加で8 Bytes消費するのと比較して、
こちらは16バイトの確保に対して管理領域として1ビット必要なので
glibc mallocで1024バイトの連続した領域を確保するのと同じ利用効率になり、かつ
「ポインタ」の保存に必要な領域が半減するという利点があります。
アドレスの算出にシフト演算が必要な点と、
基本的なデータ構造(list, set, map, hash, ...)を
1個16バイトのチャンクの組み合わせとして表現するのがちょっと手間である事
連続したメモリ領域の確保に別なアロケータが必要である事が主な欠点です。
実際には、4KiB単位の連続したメモリ領域をアロケータが面白みもない方法で確保して、
その中身をチャンクとして分割し、先頭2チャンクを管理領域にして確保/開放を行うという実装にしています。
連続したメモリ領域が本当に必要でも、4KiBあれば十分と今は仮定しています。
こういう方法ってこのスレ的には既出?
0916デフォルトの名無しさん
2016/05/03(火) 18:42:53.59ID:bxMOJzqX日本人の書いた薄っぺらい教科書よりも簡単。
0917デフォルトの名無しさん
2016/05/03(火) 18:52:57.38ID:k0lWibxSページ数は多いものの、説明は丁寧だから難しいということはない。大学の1,2年向け。
一冊の小さくまとまった教科書と違って説明を端折ったりしてないから、途中でわからなくなって結局別の本を買い足したりする必要がない
0918デフォルトの名無しさん
2016/05/03(火) 19:03:24.76ID:bxMOJzqX0919デフォルトの名無しさん
2016/05/03(火) 20:50:04.37ID:bxMOJzqX0920デフォルトの名無しさん
2016/05/04(水) 08:24:35.18ID:PCMiFBXMありがとうございます
0921デフォルトの名無しさん
2016/05/04(水) 12:49:25.38ID:A2cfTnr6浅野孝夫のその本は説明が粗雑なところを詳細なプログラムを読むことで補完しなければならないところが難点。
0922デフォルトの名無しさん
2016/05/04(水) 15:23:50.62ID:OcRpngHJさっぱりわかんね
要するにビットマップで管理するってことか?
勝手にやれとしか
要するに、32ビットのポインタで64GiBの領域を使えるって事
普通は64ビット版のプログラムはポインタを64ビットに拡張するんだけど、
木構造のようなポインタを多用するデータ構造の場合は
32ビット版と比較してメモリの効率が半減するデメリットがある。
この方法だと、メモリ効率を落とさずに4GiBを超えるメモリ領域を同時に使える。
既出かどうか(或いはもっと良い方法があるか)知りたかった
0924デフォルトの名無しさん
2016/05/04(水) 16:38:51.07ID:WruTeJWfポインタが指す先は常にチャンク境界(16バイト)にアラインメントされてて、
ポインタを使うときは4ビット左シフトしてアドレスに変換してから使う。
「ポインタを変数とかに代入してとっておくこと」と「ポインタをデリファレンスして他所から値を持ってくること」を分けて考えてる。
1バイトが128ビットのマシンだと思えばそんなに変な事ではないかと。
https://github.com/pixie-grasper/operating-system/blob/master/kernel/objects.asm
0926デフォルトの名無しさん
2016/05/04(水) 17:35:44.12ID:ypA5W//nよくわかんねーけどやめたら
0927デフォルトの名無しさん
2016/05/04(水) 17:37:59.32ID:WruTeJWfやっぱりそうなるんだ。
ポインタのサイズを節約するために配列や構造体にえらい無駄が出るね。
OS内に何らかの言語のインタプリタを実装して、
所謂ユーザーモードで動くプログラムは全てその言語で走る、というのを考えてる。
全てがシェルスクリプト、みたいな感じ。
で、そのインタプリタは数と文字列とハッシュを扱えれば良いと思っていて
ハッシュをAVL、文字列をrope構造なんかの木構造で実装するとすれば
16バイトってサイズは各ノードに情報を格納するのに丁度いいサイズではあるのよ。
ropeってのはこれな。
https://en.wikipedia.org/wiki/Rope_(data_structure)
その考えで行くと、あんまり無駄は出ないんじゃないかなとは思う。
勿論実行速度は多少犠牲になるけどね。
0929デフォルトの名無しさん
2016/05/04(水) 18:36:41.93ID:VTHyhTWbFATの考え方だね。
メモリ管理でも応用できる気はするけど。
0930デフォルトの名無しさん
2016/05/04(水) 19:24:52.99ID:WruTeJWf確かにLISPのConsCellの持ち方に似てはいるが。
0931デフォルトの名無しさん
2016/05/04(水) 20:55:58.55ID:I71ZCmWZWindowsでいうGlobalAllocしてHANDLEを返して、実際に使うときにはGlobalLockでアドレスにするのと
同じような気がするのだが。
> OSというからmallocとかの話かと思ったら、インタプリタ作ってんのか。
正確には、OSが内部で使うアロケータの話。
malloc/freeとは仕様が違うっていうか前提からして噛み合わない。関数が返す領域のサイズが固定だから。
とここまで書いて、「常に1チャンクだけ確保して返す」とは明確には言ってなかったことに気付いた。ごめんよ。
incしてorするコードが根底にあるから忘れてたわ。
>>931
> 16バイト境界でしか返さないmallocを作って4ビットシフトするのとはどう違うのか。
16バイト境界でしか返さないって条件だと、16バイトの確保の為に追加で8バイトとか必要になる。
malloc/freeの仕様上、どうしても何バイト確保してあるかって情報をヒープ側に保持する必要があるからね。
開放する時点で何バイト確保されているかが自明で、かつ固定長ならば1ビットで済む。
> WindowsでいうGlobalAllocしてHANDLEを返して、実際に使うときにはGlobalLockでアドレスにするのと
操作の意味はそれと同じかも。中身は全然違うだろうけど。
0933デフォルトの名無しさん
2016/05/04(水) 23:32:14.08ID:I71ZCmWZhttp://codezine.jp/article/detail/9325
0934デフォルトの名無しさん
2016/05/04(水) 23:54:19.41ID:NIqCX6OH0935デフォルトの名無しさん
2016/05/05(木) 20:14:53.64ID:Rts6L3H5名人芸の域に達している。
0936デフォルトの名無しさん
2016/05/06(金) 02:45:47.47ID:iu7snuDEObjectIDに、32bitメモリアドレスを使っている言語では、
使わない下位4bitを、nil, undefined, true/false などに使っている
0937デフォルトの名無しさん
2016/05/10(火) 00:38:26.53ID:fVgrqlwf0938デフォルトの名無しさん
2016/05/10(火) 09:44:21.83ID:vQZ70y3Eよくわからん、じゃねえよ
教えてくださいってちゃんと言えよカス
0939デフォルトの名無しさん
2016/05/10(火) 14:50:16.86ID:bh4nZJj2つまりポリモーフィズムよ。
0940デフォルトの名無しさん
2016/06/12(日) 19:21:48.87ID:bKmziACv当たり前のことを形式的に証明しているだけで、つまらなすぎる。
0941デフォルトの名無しさん
2016/06/12(日) 19:41:15.31ID:wJ9RNQRX0942デフォルトの名無しさん
2016/06/12(日) 21:10:38.11ID:XMogaMUK0943デフォルトの名無しさん
2016/06/12(日) 21:17:56.77ID:bKmziACvまったくありがたみを感じない。
0944デフォルトの名無しさん
2016/06/12(日) 21:21:48.52ID:XMogaMUKとか言い出す辺り、ただの馬鹿。
0945デフォルトの名無しさん
2016/06/12(日) 21:26:41.87ID:bKmziACv大体、正しいか正しくないか判断がつかない場合に、ループ不変式などを利用して
証明して判断をつけるというやつなんていないだろ。
0946デフォルトの名無しさん
2016/06/12(日) 21:45:09.93ID:TqVPhPZJだから、しゃべりが池沼っぽい
0947デフォルトの名無しさん
2016/06/12(日) 21:48:07.39ID:wJ9RNQRXコンパイラにバグがあったら終わり
証明してる暇があるならテストしろ
0948デフォルトの名無しさん
2016/06/12(日) 21:54:04.65ID:YWOQehEL0949デフォルトの名無しさん
2016/06/12(日) 22:13:59.77ID:iLaG31hG0950デフォルトの名無しさん
2016/06/12(日) 22:16:45.19ID:YWOQehEL0951デフォルトの名無しさん
2016/06/12(日) 22:24:02.91ID:TqVPhPZJ話相手がコンピュータだけで楽そうでいいねー。
0952デフォルトの名無しさん
2016/06/12(日) 22:42:20.09ID:bKmziACv数学者からみたら物笑いだよ。あんな簡単なことに証明とか。
0953デフォルトの名無しさん
2016/06/12(日) 22:43:57.64ID:bKmziACvループ不変式をつかって証明しようとしている。
セジウィックとウェインの本や他の本ではそんなバカなことはやっていない。
0954デフォルトの名無しさん
2016/06/12(日) 22:46:40.05ID:YWOQehELほほう
0955デフォルトの名無しさん
2016/06/12(日) 22:57:41.82ID:iLaG31hGそれは他人がプログラムを見た時の話でしょ?
「正しいと思います」ではなく「正しいことを証明しました」と言えるのが強いって話
0956デフォルトの名無しさん
2016/06/12(日) 23:14:04.78ID:YWOQehEL0957デフォルトの名無しさん
2016/06/12(日) 23:47:07.86ID:8ju5Hz/7ここ20,30年の結果だろう。
0958デフォルトの名無しさん
2016/06/13(月) 00:59:21.12ID:3Di6+3Mw「そんな証明必要が無い!」って発狂してるんだろうな。
0959デフォルトの名無しさん
2016/06/13(月) 01:24:45.65ID:Z1Ey867K0960デフォルトの名無しさん
2016/06/13(月) 01:41:58.03ID:1BZvkwxj実用的なTheorem proverも可能性はあるんだが期待はできないだろうなあ
0961デフォルトの名無しさん
2016/06/13(月) 14:56:05.07ID:zgrawcOE0962デフォルトの名無しさん
2016/06/13(月) 15:01:05.36ID:mMZTmGOc君、ピントがずれているよ。
0963デフォルトの名無しさん
2016/06/13(月) 16:51:21.17ID:K1c+prPp0964デフォルトの名無しさん
2016/06/13(月) 17:10:34.18ID:efzbkdBa0965デフォルトの名無しさん
2016/06/13(月) 21:02:48.01ID:Z1Ey867K0966デフォルトの名無しさん
2016/06/14(火) 07:46:09.04ID:o1YchFZoセジウィックとウエインの本のほうがいい。
0967デフォルトの名無しさん
2016/06/14(火) 09:45:42.06ID:BidWaOek0968デフォルトの名無しさん
2016/06/14(火) 20:31:46.24ID:SiBa/s53教科書を書くセンスがない4人が集まって書いた本。
オシャレじゃない。
0969デフォルトの名無しさん
2016/06/14(火) 20:49:26.18ID:SiBa/s53センスがいい。
0970デフォルトの名無しさん
2016/06/14(火) 21:00:48.87ID:ehyQNt8O0971デフォルトの名無しさん
2016/06/14(火) 21:28:39.34ID:SiBa/s53情緒がない。
0972デフォルトの名無しさん
2016/06/15(水) 19:49:27.34ID:gzHi7sCV確かに、その本は書きすぎだね。アメリカの教科書らしい。
0973デフォルトの名無しさん
2016/06/16(木) 07:44:01.55ID:PyWK44gC0974デフォルトの名無しさん
2016/06/18(土) 10:54:10.67ID:Rf/+f79rhttp://imgur.com/v5md3Eu.jpg
↑は O(g(n)) の定義です。
2枚目の赤線で囲ったところが意味不明です。
どこが乱用なのでしょうか?
O(g(n)) の定義からすると、乱用ではないと思うのですが。
それと、 O(n^2) に属する関数 f(n) がなんたらとありますが、
なぜ、 O(n^2) に属する関数 f(n) などを登場させているのでしょうか?
f(n) ではなく、 n^2 自身を使えばいいように思います。
何が言いたいのか解説をお願いします。
0975デフォルトの名無しさん
2016/06/18(土) 11:00:42.11ID:Rf/+f79rサイズが n のどのような入力が選ばれてもその入力に対する実行時間は値
f(n) によって上から抑えられる」と書かれていますが、「任意の n の値に対して」
ではなく「ある n0 以上の任意の n の値に対して」が正しいのではないでしょうか?
0976デフォルトの名無しさん
2016/06/18(土) 11:20:58.85ID:SEe9xJ4I実用的にはO(n log n)と見なしているわけだから態々最悪実行時間と明記せずO(n^2)と表記するならば濫用とかそういう意味では
つまり「実行時間がO(f(n))」という表現が濫用で, 「最悪実行時間がO(f(n))」というべきという主張
0977デフォルトの名無しさん
2016/06/18(土) 11:28:07.47ID:dWsxPysuこまけーことはいいんだよ
0978デフォルトの名無しさん
2016/06/18(土) 14:12:35.02ID:AGMP56Qnf(n)=n**2+n+C とかでも O(f(n))=O(n**2) なんじゃね?
0979デフォルトの名無しさん
2016/06/18(土) 22:43:28.17ID:8GpUPXrh乱用の部分。
定義によればf(n)はn>n0の大きさのみによるはずなので入力の中身で実行時間が左右される時に使うのは正しくないというだけのこと。
その上で、この本における「実行時間がO(n^2)である」を再定義してる。それが「任意のサイズnの入力にたいして最悪実行時間がO(n^2)」
再定義なのでもとの定義のn0は関係ない。
0980デフォルトの名無しさん
2016/06/19(日) 10:29:21.57ID:iKM7Z0CI放送日:2016年06月26日
開始時刻:23:30
http://www2.nhk.or.jp/hensei/program/wk.cgi?ch=31&area=001&date=&tz=all&mode=2&next=&f=week
0981デフォルトの名無しさん
2016/06/19(日) 12:16:06.94ID:ao4WLgfXいつも思うんだけれども,この碁の勝負,棋譜は公開されているの?
0982デフォルトの名無しさん
2016/06/19(日) 12:34:47.15ID:5KvSKdL/0983デフォルトの名無しさん
2016/06/19(日) 12:36:53.43ID:gP7jNw8f0984デフォルトの名無しさん
2016/06/19(日) 12:39:52.68ID:r0RYrFyy0985デフォルトの名無しさん
2016/06/19(日) 12:47:45.21ID:ao4WLgfXどこに貼ってあるかな?たぶん公開されてないんじゃないかな
0986デフォルトの名無しさん
2016/06/19(日) 12:59:15.60ID:ao4WLgfX0987デフォルトの名無しさん
2016/06/19(日) 13:01:16.93ID:B48ze9ncttp://www.kihuu.net/index.php?type=2&key=AlphaGo
ttp://mimura15.jp/alphago%e6%a3%8b%e8%ad%9c%e6%84%9f%e6%83%b3
0988デフォルトの名無しさん
2016/06/19(日) 13:02:20.35ID:ao4WLgfX0989デフォルトの名無しさん
2016/06/19(日) 13:17:04.56ID:5KvSKdL/0990デフォルトの名無しさん
2016/06/19(日) 13:21:02.53ID:5KvSKdL/わろす
981 :デフォルトの名無しさん[sage]:2016/06/19(日) 12:16:06.94 ID:ao4WLgfX
>>980
いつも思うんだけれども,この碁の勝負,棋譜は公開されているの?
985 :デフォルトの名無しさん[sage]:2016/06/19(日) 12:47:45.21 ID:ao4WLgfX
>>982
どこに貼ってあるかな?たぶん公開されてないんじゃないかな
986 :デフォルトの名無しさん[sage]:2016/06/19(日) 12:59:15.60 ID:ao4WLgfX
http://blogs.yahoo.co.jp/ten_nan_91/35774553.html
988 :デフォルトの名無しさん[sage]:2016/06/19(日) 13:02:20.35 ID:ao4WLgfX
ありがとう
0991デフォルトの名無しさん
2016/06/19(日) 13:21:26.83ID:5KvSKdL/文字リテラルの const って
char * const p = "abc";
char const * p = "abc";
char const * const p = "abc";
のどれなの?
386 :デフォルトの名無しさん[sage]:2016/06/19(日) 12:22:37.18 ID:ao4WLgfX
>>385
二重参照を記述できることがメリットと感じるかどうか,によるな
二重参照はなくてもなんとかなる場面もあるしね
C++/C# には参照渡しがあるよ
C++ では,たとえば node *&root などは便利に使えるよ.二重ポインタを使うか,ポインタの参照を使うか,まあ差がないといえばそれまでだが
0992デフォルトの名無しさん
2016/06/19(日) 14:35:47.42ID:uAZi1A5C0993デフォルトの名無しさん
2016/06/19(日) 14:38:13.10ID:uAZi1A5C細かいことは木にすんな
0994デフォルトの名無しさん
2016/06/19(日) 14:38:28.30ID:uAZi1A5C残念だったな
0995デフォルトの名無しさん
2016/06/19(日) 14:39:21.41ID:uAZi1A5C0996デフォルトの名無しさん
2016/06/19(日) 14:40:17.07ID:ZUpk0clL0997デフォルトの名無しさん
2016/06/19(日) 14:40:47.36ID:ZUpk0clL0998デフォルトの名無しさん
2016/06/19(日) 14:42:53.51ID:ZUpk0clL0999デフォルトの名無しさん
2016/06/19(日) 14:48:18.27ID:5KvSKdL/データ構造,アルゴリズム,デザインパターン総合スレ 3
http://echo.2ch.net/test/read.cgi/tech/1466315249/
1000デフォルトの名無しさん
2016/06/19(日) 14:49:22.87ID:ao4WLgfX10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 1203日 20時間 39分 12秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。