- - PR -
アルゴリズム
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-10 16:50
ども、がるです。雑談モードです :-P
> アルゴリズムも大切ですけど > 他の方も言われているとおり、必要になってからでいいんじゃないかなーなんて思ってみます。 んと、半分賛成で半分反対かなぁ? きちんと習得するのは確かに「必要になってから」でよいとおもうのですが。 問題が一つあって、「知らないと"必要なときに"、"必要であることが" 認識できない」ケースがあるのが半分反対の理由でし。 なので、周囲にきちんとした先輩とかがいれば、安心して後回しでよいと おもうのですが。そういった良質な「外部ユニット」がいなければ、 自己判断のためにもアルゴリズムの本の「斜め読み」くらいはしておいた ほうがよいと思うです。 # 昔は大抵周囲にウィザードがいたものですが :-P > #最近、自分が今まさに書いているソースコードの意味を理解していない初心者が多いと思う。 うみうみ。確かに。 怖いのが「鵜呑みにしていればいい」って言い切っちゃう先輩達の 存在ですね。そうやって「悪習」が継承されていく…。 アルゴリズム、大切ですねぇ。個人的にはシミジミそう思います。 「言語の枠を超えた」或いは「言語以前の」プログラミングへの考え方 をきちんと学んでいくのはとても重要だとおもいます。 というか今の「便利な機能」はバックボーンに古いアルゴリズムが 存在しているので、新しいものを学ぶためにも、古いアルゴリズムを 学んでおくことには意義があるとおもいます。 まさに「温故知新」ですね。 ちなみに、アルゴリズムをやるなら個人的にはC言語で一度ちゃんと やっておくべきだと思います(もっと本音はマシン語)。 理由は簡単で「便利な関数/API/クラスがほとんど存在しないから」。 それこそ「マシン語レベル」できちんとアルゴリズムを把握しておくと、 便利な言語での学習も深くなると思います(早いか、は別 :-P )。 # Javaとかの「便利な」言語の1APIが、裏では「かなり重い」ってのは # ありがちな話で。 # バックボーンがある程度把握できると、大雑把な軽重はイメージ # できるようになるです。 そうそう。 アルゴリズムと聞いて思い出した1例。
さてなにをしてるでしょう? 回答方法は「がるに電波を飛ばす」 :-P 正解者にはもれなく「がるの心の中での拍手」が与えられます(笑 # 昔マシン語で四則演算とか考えさせられたなぁ、っと(笑 | ||||||||
|
投稿日時: 2004-03-10 16:52
DBMSを使わずにファイルだけで作ってみるとか、、、、、これは力がないとできないですね。 複数アクセスとかをうまくやれたら自分でDBサーバ作れますね _________________ | ||||||||
|
投稿日時: 2004-03-10 17:30
ども、がるです。引き続き雑談モ〜ド(笑
んと、理想的な返しとしては「シンプルな機能でもいいので作ってみると いい勉強になりますよね」。 現実的な悲劇としては、CGIとかで 「データの検索あるんだけどDBないからよろしく〜」と クライアントに一言で片付けられる瞬間。 …結構色々検索条件があったりして泣けるときがあります。 複数項目一致(andありorあり)だけならいざ知らず、Group by相当の 機能から各種項目選択でのソートまで。 いくつか事情があってバークレイDBが使えなかったので、ずいぶん ヘビーなものを作った記憶があります ^^; そういえば、別件で「DBMSじゃ速度が遅すぎるから、機能はシンプル なんだが速度の出るDB作って」といわれて作ったことも。 …スレッドとプロセス周りの概念をいやっちゅ〜ほど理解できました(苦笑 | ||||||||
|
投稿日時: 2004-03-10 18:06
はにまるです。
答えを出した時はすんげー!と感動しましたが、 理屈がわかりません、今日は寝れそうも無い。 ポイントは、1つ目の結果Aとメボシは付けたのですが、 「全ビット1」と「B」の排他論理和は、「Bの反転ビット」ですよね... 「全ビット0」と「B」の排他論理和は、「全ビット1」ですよね... 「A」と「B」の排他論理和は、何だ? ヒントを頂けないでしょうか? 追記: よくよく、考えたらそこが解っていれば、 直ぐにがるがるさんの質問の答えが解るんですよね.. もうちょっと頑張って見ます。 [ メッセージ編集済み 編集者: はにまる 編集日時 2004-03-10 18:15 ] | ||||||||
|
投稿日時: 2004-03-10 18:35
ちがいますよぉ | ||||||||
|
投稿日時: 2004-03-10 18:39
unibon です。こんにちわ。
#チャチャですが言語がチャンポンになっているような。 なお、実際にやってみて動作は分かるのですが、なぜこれでできるのかが分かりません。 ちなみに、私が最近、感服したアルゴリズムは、 http://www.nminoru.jp/%7Enminoru/diary/2003/09.html#2003-09-11 です。 #あとで URL を修正しました。 [ メッセージ編集済み 編集者: unibon 編集日時 2004-03-10 18:42 ] | ||||||||
|
投稿日時: 2004-03-10 18:41
がるがるさん、電波飛ばしてみましたけどどうでしょう。
初めのif文の条件 a != b、これがヒントですね。 なんでこの条件の時だけ処理しているかという・・・ >はにまるさん 2回同じ値でxorをすると元に戻るというのがポイントでしょう。 C言語にxorはないですね。 | ||||||||
|
投稿日時: 2004-03-10 18:54
昔のことをよく思い出してみると、確かに自分もアルゴリズムをしっかり使ってました。 最近はWindowsべったりな開発(というよりVSべったりな開発)だったもんですっかり失念してましたが、普通のCでプログラムを書いていたころには備え付けのqsortを使うのがいやでmargesortとかbubblesortとかを手で書いていましたね。いや、懐かしい・・・(汗
たしか「^」がANSI C準拠のXORだった記憶があります [ メッセージ編集済み 編集者: 無月 重造 編集日時 2004-03-10 19:00 ] | ||||||||
