- - PR -
アルゴリズム
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-10 10:28
一昔前では(といってもその人の環境によりますけど)、ある程度のアルゴリズムは自分で実装する必要があったり、データ構造も自分で考えたり一般的な構造を自分で実装したり、ということが多かったので、そういったものを扱う場合には結構実装までできるレベルの知識が必要だったりしました。 今では、基本的な(というか通常いかにもよく使われるような)アルゴリズムやデータ構造は、標準的なライブラリで提供されることが多くなっています(もちろん環境によりますが)。 なので、現在はどちらかというと、あることをしたいときに、どのアルゴリズムやデータ構造を用いればよいか(ライブラリで提供されているどの機能が利用できるか)、あるいは独自に作成する必要があるか、といったことを判断するための知識として必要だと思います。 また、そういったライブラリのヘルプやマニュアルに書かれている内容を理解するため、あるいはライブラリのクラス名等から単純にどんな機能化を大体把握するのにも役立ちますね。 | ||||||||
|
投稿日時: 2004-03-10 10:36
大学のアルゴリズムの講義では
アルゴリズムの設計と解析I アルゴリズムの設計と解析II を使って勉強してました。 特定のプログラミング言語によらない内容(ただしアルゴリズムは片言Algolで書かれている)ですが、ちょっと肩が凝るかも。 VBばかりやってきたプログラマーを見ていると、VBにはいろいろと便利なオブジェクトだのコントロールだのがあるおかげで、FORTRANなどのようなレガシー言語(笑)では配列を使ってプログラミングする処理でも、配列を使わずにプログラミングしたがる傾向がありますね。 その結果、生産性は向上しますが処理速度は落ちてしまいます。 それでオブジェクトだのコントロールだのを使わずに配列を使うように指示すると、修正にかなり時間がかかったりしてます。 チープなCPUに数十KBのメモリで構成されたマシンで、いかに高速かつ多機能なプログラムを作るかなんてことを経験した者に取っては、つい「藻前ら楽してんじゃねぇ」と声を荒げたいところですが、wiemさんは便利な機能を使うことによる弊害に気付かれたようなので、がんばって他とは一線を画すような技術者になられることを期待しています。 | ||||||||
|
投稿日時: 2004-03-10 12:03
ほむらです。
アルゴリズムも大切ですけど 他の方も言われているとおり、必要になってからでいいんじゃないかなーなんて思ってみます。 個人的には学ぶべき言語があるのならば、 まずは他人のソースコードを読むとか、 いわゆる、定石手法というのを勉強してみては?と思いますねー 別々の人の書くソースでの共通点が定石に近いともいえるのかな? 個人的に定石=可読性とか思っているので、ソート覚えるとかするまえに 変な書き方しないように、そっちから覚えてほしいかなと。。。 | ||||||||
|
投稿日時: 2004-03-10 12:58
そもそものご質問は、
アルゴリズムを勉強しようと思っている。 ↓ アルゴリズムの解説書を見るとC言語で書かれたものがほとんど ↓ 自分はC#を勉強中なので読み替えなければならない ↓ 他言語(VB)のプログラマーはどのようにしているのか? ということですよね? 結論から言えば、VBのプログラマーでもCは必須的に知っています。 Cを知らないとVBでもコーディングできない部分がたくさんあるから です。(例えばAPIを使う場合等) で、アルゴリズムそのものの理論を知って自分なりにVBで記述するか、 サンプルのCのソースをVBに書き換えたりします。(ビット操作等が 出てくる場合難しいときもありますが)後者の方法でアルゴリズムをC# なりで実装しようと思うのであれば、Cの基本部分は読める必要があるの ではないでしょうか? | ||||||||
|
投稿日時: 2004-03-10 13:17
Cのアルゴリズムの本と、VBのアルゴリズムの本と2種類持ってますけど、
勉強のためにはVBの方はあまりお勧めできませんね・・。 考え方なので、確かにどの言語使っても学べるのですが、サンプルプログラムが VB特有の方法で実現されていたりすると、他の言語に応用するのが辛いです^^; (.NETのアルゴリズム本ってあるんですかね?それだとまた違うかもしれませんが)
Cとか知らないVBプログラマーはたくさんいると思いますけど? ただ、そういう人がいいプログラムを書けるかどうかは別として^^; APIにしても、関数コールするだけなので、Cを知ってるかどうかとは 関係ないと思われます。 | ||||||||
|
投稿日時: 2004-03-10 13:27
う〜ん?Errorだ。 HTTP 500: Connecting to alfin.mine.utsunomiya-u.ac.jp: Host not found “ここ”から見えないだけ?家に帰ってから、もう一度トライしてみよう。。。 | ||||||||
|
投稿日時: 2004-03-10 13:32
ここで、「ちょっと読む」ことができます。 http://software.nikkeibp.co.jp/software/contents/2004/0404index.html #定期購読しているのに読んでいないヤツσ(・_・) | ||||||||
|
投稿日時: 2004-03-10 13:34
あれ、今みたら確かにエラーですね。 朝書き込んだ時点では見れていたのですが #引用が多すぎたので削除 [ メッセージ編集済み 編集者: ゆう 編集日時 2004-03-10 13:35 ] | ||||||||
