アルゴリズム考えるのムズすぎワロタwwww
■ このスレッドは過去ログ倉庫に格納されています
アルゴリズムを考えるのは難しいけど、人の考えたアルゴリズムを理解するのは簡単だろ? そこが面白いんだろ
人が考えたものを実装するだけとか死にたくなるよ ゼロからアルゴリズムを作るなんてクヌース先生レベルの天才じゃないと無理 ほとんどの場合知ってるか知っていないかってだけだとさっき思った
教えるは一時の優越感、 教えないは一生の優越感
そんなことを思うニート 必要になった時に名前だけでも思い出せばいいわけだから
とりあえず本を流し読みしまくっとくか >>7
初心者向けではないけど、
プログラミング・コンテスト・チャレンジブック、という有名な本があって、
たいていのアルゴリズムなら、この本に載っている
TopCoder
ttp://toro.2ch.net/test/read.cgi/tech/1333159918/l50 このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所 俺は、[C言語によるアルゴリズム辞典]って言うの
持ってるけど、高等数学(高校の数学じゃなくて)の
知識不足で、かつtypedefしまくってるコード
が、多すぎて、たまにしか見ない アルゴリズムじゃなくてビジネスロジックのことじゃ・・・。
ロジック考えるのが楽しくないなら向いてないかも。
車輪の再発明でもいいから俺って天才って気分になるバカさが必要。
なれないやつは向いてない。 ならそれを考える必要はないな
公式とか定理みたいなもんだろ 公式や手順なら、それがなぜ成立するのかじっくり考えることは必要だと思う
じっくり考えておかないと応用がきかない アルゴリズムに関して知りたいなら
公開されてるAPIのコードを読み込むことだな It is enough to develop the Wikipedia. 俺も初心者だからアルゴリズムは難しいけど、元々パズルとか好きだから、パズル感覚で楽しんでるな パズルや数学が好きな人はアルゴリズムに向いてると思う そう言えば、東大の入試問題は、
パズル本から取った問題が多いね
古代ギリシアのパズルとか
問題を考えるのが面倒なんだろうね 円周率が、3.05以上であることを、図形で証明せよ
重ならない3つの円のすべてに、接する円はいくつあるか?
入試問題を作る人は、作問能力が無さそう
パズル本と同じ問題を出すと、
その本を読んでいる人が、すぐに解ける一方、
読んでいない人にとっては、トリッキーで難しい
だから、パズルになって、本に載るわけ
パズルやっている人は、試験中に考えずに、すぐ解けてしまう
つまり合格が思考力ではなく、
知っているかどうか(知識の量)で決まってしまう
これじゃ、偏差値50の人と、変わらない >>32
自力で解ける思考能力か自力で解けなくともそれをカバー出来るくらいの知識力を求めてるんじゃないの >>32
パズルっていうのはジグソーパズルとかでもいいの? うむ。
思いついた。
お勧めの本やHPを尋ねられたら、東大がお勧めと答えるのをテンプレにする。 >>35
論理パズルの本、ちょっとamazonで探してくるわ。サンクス プログラマのための論理パズル 難題を突破する論理思考トレーニング
http://www.amazon.co.jp/dp/4274067556/
こういうのどう? プログラミング勉強して思うことはやっぱり馬鹿にはプログラミング無理だわ 偉いか馬鹿かというより、面白いと思えるかどうかが重要な気がする 俺の場合、面白いとは思えるけど難しい、面倒くさいという気持ちが上回って嫌になる 物事の仕組みをよく理解した上で
それを数値化したり式化したりする作業だしな
深く物事を考えられないと難しい 論理パズルの小さい本が、色々出てるでしょ
迷路、魔方陣、虫食い算、古代ギリシアのパズルとか
こういうパズル
7個の同じ重さの分銅と、
それらより少し軽い、1個の分銅Xがある
これら8個は見た目では、区別が付かないので、
秤を2回使って、Xを見分けてほしい まず3個ずつ秤の左右の皿に載せる。
釣り合った場合残りの2つを比べて軽い方がX。
軽い方の皿から一つ分銅を取りYとし、軽い方の皿の残りの2つを比べる。
釣り合った場合YがXelse軽い方がX まず3個ずつ秤の左右の皿に載せる
if 釣り合った
残りの2個を比べて軽い方がX
else
軽い方の皿から1個分銅を取りYとし軽い方の皿の残りの2個を比べる
if 釣り合った
X = Y
else
軽い方がX サイクロイドからの出題です
実際にやらずに、お答えください
2個の十円玉A,Bがあって、Aの周りを、
Bがくっつきながら回転する
Bは最初、Aの真上にあって、
そこから回転しながら、Aの真下にきて止まった
Bは何回転したか? 設計ができないやつの特徴は?
例えば分数が苦手とか、そういうタイプ
何ができないか?それは抽象思考や観念的概念の理解だ、
無能な奴は具体性を求め絶対的な結果のみを暗記することでテンプレートだけの
思考を行い、ものづくりにおいてはキリハリなパッチワークしか作れない。
つまり巧妙な「パ、ク、リ」なのです。 抽象思考、観念的概念の理解について詳しい説明をお願いします 物事を順序立てて考えられる人間は
アルゴリズムを組み上げる才能がある
後は数学やプログラミングに関する知識と柔軟な思考と
美味しいお菓子があれば言うことはない >>48
>Bは最初、Aの真上にあって、
>そこから回転しながら、Aの真下にきて止まった
>Bは何回転したか?
この問題の変形で、
1. Aの半径が2r、Bの半径がrのとき、
2. また逆に、Aの半径がr、Bの半径が2rのとき、
どうなる?
サイクロイドは難しいな
軌跡をイメージできない クォータニオンの理論はさっぱり分からないけどなんかうまくいく
俺にとっては魔法だ 複素数の共役同士の和と積は、実数になる
a+bi, a-biの和は、2a
積は、a^2-(b^2)(i^2)=a^2+b^2
それと、電気回路に出てくる複素平面
z=x+yjを、座標(x,y)で表す
x軸は実数で、y軸は虚数
y軸は単位がjで、そのjを取って、yのみで表示する
電気分野では、電流にiを使うため、虚数はjで表示する
つまり、クォータニオンとは、これらを利用しているだけ >>60
たかが計算の実装くらい出来るに決まってるだろwww
その程度で分かってるというならめちゃくちゃ深く理解してる >>63
簡単な数式があるのに実装できないのはお前くらいだよ 複素平面で、複素数同士の掛け算をしてみる
a=1+j√3, b=√3+j
複素数x+yjを、座標(x,y)で表すと、
a点は座標(1, √3)にあり、
O(0, 0)から距離2、偏角(x軸から)60°
b点は座標(√3, 1)にあり、
Oから距離2、偏角30°
ab=(1+j√3)(√3+j)=√3+4j+(j^2)√3=4j
これは、座標(0, 4)で、Oから距離4、偏角90°
つまり、Oからの距離は掛け算、2*2=4
偏角は足し算、60°+30°=90°
となり、複素数同士の掛け算で、
ベクトルの拡大と回転が、同時にできる
同様に、複素数同士の割り算で、
ベクトルの縮小と逆回転が、同時にできる
複素平面は交流回路で習う 一定以上の間隔をあけながらランダムに点を分布させるにはどうしたらよいですか? 二次元配列上にランダムに点をばらけさせるんですが
どの点を見ても一番近い点が必ず一定以上の距離があるようにするのにいいアルゴリズムはありますでしょうか >>73
二次元配列の形のことですか?
なんでもいいです
できれば端が反対側へ繋がってる四角がいいです いや一定の距離の事
例えば隣同士の配列に点がはいってほしくないとか そうです円形の距離です
ある点から一定の半径以内に別の点がないようにしたいです あんまりいいアルゴリズムじゃないけど一応投下
配列の数値の意味
1:点の場所
-1:ある点の半径n以内の位置
0:何もないところ
まず配列を0で初期化
第一ステップ
まず最初に配列にランダムに1を格納(距離を気にせず)
その際、どの配列に1を格納したかそのインデックスをリストに保存する
第二ステップ
第一ステップで作成したリストをシャッフルする
そのリストの先頭の要素を取り出して
半径nの配列全てに-1を格納
リストの次の要素を取り出す
半径nの配列が全て0かどうか確認
0でない配列があれば円と円がぶつかっているということなので
格納をやめて、その点の位置も0で初期化する
・・・・
それを作りたい点の個数だけ続ける すまんリストのシャッフルは必要なかった
c言語で作成してみた
クソコードだけど許してhttp://ideone.com/POIGJ7
これが俺の限界
もっといいアルゴリズムが知りたかったら
入力の量とか求めている計算時間とか詳細に説明したら
誰かアドバイスくれるかも ごめん
円と円がぶつかってはいけないと勘違いしていたから修正
乱数の生成をするときに範囲の指定(一定の距離をとるような点)はできないと思うから
最初に生成した乱数をいくつか選ぶだけの総当り
http://ideone.com/3BeVLs printしてるのは
一番上:最初に生成した乱数そのままの点の位置
二番目:3が点のある位置 2が点の周囲 0が何もないところ(アルゴリズムでは周囲の情報は必要なし
三番目:距離を考えた上での点の位置
四番目:最初の乱数の内、いくつの点がぶつからなかったか ぶつかったところはoutの表示 手順
1.点を置きうる座標のリストAを作る
2.リストAからランダムで一つの点B選ぶ
3.点Bの近傍座標をリストAから削除する
4.2に戻る 要約すると>>81さんの通りですね
アルゴリズムと言えるほど高尚な事はやってないですわ 高尚な観念が理解できないと作られたそれは歪みまくった俺解釈(具体性)になる。
割り切れるならいいんだけどね、因数分解で因数以下に分割しちゃう大マヌケとか
とんでもないトンチンカンがいるんだよ。
原理を原理より分解して再構築したら原理が分散したそれは働きを得ない
ぐらい分からないのかな? ちょっと高尚すぎて言ってることわからないので>>76の解答でたとえてみてください>< 同じ目的を達成するのに、ド下手が書いたソースは無駄が多い。
回り道してグネグネして余計なこといっぱいして変数散らかして、
行数いっぱいつかって、おのずと同時に見通しも悪くなる。
糞コーダーにとっては途中で落ちるなんて恥、どんなにズタボロだろうとプログラムは天寿を全うしてこそのものだからな。
平気で全文tryで囲みやがるし。 設計ができないやつの特徴は?
例えば分数が苦手とか、そういうタイプ
何ができないか?それは抽象思考や観念的概念の理解だ、
無能な奴は具体性を求め絶対的な結果のみを暗記することでテンプレートだけの
思考を行い、ものづくりにおいてはキリハリなパッチワークしか作れない。
つまり巧妙な「パ、ク、リ」なのです。 条件文全てを一つにまとめて横ピラミッド作るのも止めて欲しい >>85-86
ちょっと高尚すぎて言ってることわからないので>>76の解答でたとえてみてください>< バケット法は、データをバケット単位に、
分けて管理する
平方分割は例えば、25個のデータを、
5*5に分けて管理する
隣同士の最小距離をrとすると、
長さrの正方形のセルで、平面を区切る
そしてランダムな点を置くときに、
そのセルの周囲のセルに、
すでに存在する点だけを調べる
そして半径r以内に、すでに点があれば、
置けないのでやり直す ずっと置けない状態が続いた時にすごい時間かかっちゃうんじゃね 具体性を求める奴が「設計」が得意な奴はいない。
設計は具体性ではなく観念や抽象的思考が必要で情報を統合する能力が
もっとも重要なのです、コーディング能力の高さで自分を「俺スゲー」
している人には恐ろしく不快なのでお詫びしておきます。
本質を言ってもうしわけないです。 てにおはをしっかり使えるようにしてから俺スゲーできるようにがんばれとしか 日本語でおkとしか発言ができない奴って、だいたい統合思考能力が欠如している。
× てにおは
○ てにをは
ちゃんと正しく覚えないと恥ずかしいよ。 96が必死に火病になるのを抑えているのではないかと思う 数学を知らずに数学を知ったかのように語るやつっているけど、
たんなる感情論だよね、観念の類を定義して方程式で証明する構図は
まったく具体性のない幻想とまで皮肉をいったり悪口を言う輩がいるが
それは間違いない、幻想でいいんだよ。
方程式そのものは美しさとその完璧なる秩序の明確性を説明するもので
現実を表す物理のような実証ではない、証明と実証の区別ができないのが
実証(具体性)ばかりこのみ難しい数学の領域の記号だけの記述になると
3行しか読めないコピーペーの能力ではどうにもならない。
暗記してできるものでもない。 >>83>>85>>87>>93>>98
わーったからてにおはを使えるようにして具体的な意味あること書け >>99
そもそもスレタイからして生産性ないしなあ… 抽象的な視点も具体的な視点も両方もってる奴は少ない。
そして抽象的な奴は具体的な奴を批判し、具体的な奴は抽象的な奴を批判する。
双方歩み寄りがないという点において>>93 >>98 は極めてバカなのである。 ロジックを考えるだろうね。アルゴリズムを考えるのは研究者か数学的思考ができるやつ。 >>98
今時、観念なんて言い草をするとは
第お祖父様ですか?
数学好きの精神病ですか? アルゴリズムわかんねー、とか言ってる奴の8割はそれ以前の文法すらわかってない アルゴリズムわかんねー、とか言ってる奴の5割はそれ以前の論理的思考の基礎すら身についてない
他の3割はデジタル化の概念がわかってない 女教師 生徒の眼の前で 山東ルシア
https://www.youtube.com/watch?v=_TyRn2KiVzc
スレ違ですまんが、この映画のオチは結局生徒の妄想だったのだろうか?
そして、80年代初期の高校ではこのような事例が日常的に行われていたのだろうか? どなたか、「アルゴリズムの定理」について教えていただけますでしょうか。
2ch.netの初期に流行ったものらしいですが・・・ >>42-43
いわゆる才能と言われるのは、この辺だと思うわ。
面白いと思って、それに対する努力を苦に思わないこと。 他人の書いたソースコードを読んで理解するより自分でプログラムを組んでいくほうが好きというか得意なやついる? 普通はそっちの方が楽
楽な方を好きなのは人間の習性 全部で9個の場合
3個ずつ天秤に載せX,Y、載せなかった3つをZとする
X≠Yなら:
TをXとYのうち軽い方とする
X=Yなら:
TをZとする
Tから1個ずつ天秤に載せV,U、載せなかった1個をTとする
V≠Uなら:
VとUのうち軽い方
V=Uなら:
T
載せる(1)、載せる(2)、載せない、に分けられるからだね
もし天秤の皿がm枚あって一つだけ軽い皿があった場合にそれがわかり、n回まで使っていいのなら、m^n個までいけるかな >>119
それ、重いか軽いかは不明なんじゃない? Google playにアルゴリズム図鑑って
アプリあるね。
結構良く出来てると思う。
sort関連わかりやすい。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
E77WW この板にいる低学歴知恵遅れの場合
まともな教育を受けてないから
その使うことすらできない
もともと知らんもんを
そもそも選択することなんかできないからな
すべて低学歴知恵遅れに由来する問題になる ■ このスレッドは過去ログ倉庫に格納されています