アカウント名:
パスワード:
コンピュータサイエンスの初級コースってのがどんな教育をする場かは知りませんが、アルゴリズムのお勉強とかは、C/C++ がベストと思うんですよね。使える機能がもっとも原始的という意味で。ま、最低、Java でもいいとは思うけど。
数あるプログラミング言語でも飛び抜けて多機能なC++を、「使える機能がもっとも原始的」とは恐れいった
そうかもしれない。私がイメージしたのはGCとかに邪魔されず。基本的なデータ構造を自作しても効率が悪くないくらいに原始的という感じ。確かにSTLとか使っちゃったらアルゴリズムのお勉強にならないね(^^;
STLの存在がデータ構造のアルゴリズムの学習を妨げるとしたら、qsortがあるCだってソートの学習に向いていないことになってしまうある機能が学習の妨げになるというのなら、それを使わないようにすればいいだけそれに、より原始的なほうが適しているというのなら、マシン語やアセンブリ言語から学ぶべきだし、GCがアルゴリズムの学習を阻害するというのも意味がわからないな
> GCがアルゴリズムの学習を阻害するというのも意味がわからないな
ここだけ説明、GC のある言語でマージソートのようなメモリを確保するアルゴリズムを実装すると、実装に仕方にもよるけど、正体不明の速度低下を引き起こすことがあったりするんですよ。私自身の体験ですけどね。で、アルゴリズムの素の性能を見極めるときの邪魔にならないかなぁと思ったと。
教科書通りに再帰的なコードを書かなければ問題はないかと。現場では絶対に再帰的なソートなんて書きませんし。スタックオーバーフローを避けるために通常ループに展開します。演算子とループ構文とIf構文と配列だけで出来ますから。なんで再帰的なソートを初めに教えるのか理解に苦しみます。更に、マージソートは改善策が沢山在って(以下うんちく
コードがループで書かれても、このアルゴリズムは再帰的なんだから、再帰的なソートを教えるのは当たり前じゃないかな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
アルゴリズムのお勉強 (スコア:0)
コンピュータサイエンスの初級コースってのが
どんな教育をする場かは知りませんが、
アルゴリズムのお勉強とかは、C/C++ がベストと思うんですよね。
使える機能がもっとも原始的という意味で。
ま、最低、Java でもいいとは思うけど。
Re: (スコア:0)
数あるプログラミング言語でも飛び抜けて多機能なC++を、「使える機能がもっとも原始的」とは恐れいった
Re: (スコア:0)
そうかもしれない。私がイメージしたのはGCとかに邪魔されず。
基本的なデータ構造を自作しても効率が悪くないくらいに原始的という感じ。
確かにSTLとか使っちゃったらアルゴリズムのお勉強にならないね(^^;
Re: (スコア:0)
STLの存在がデータ構造のアルゴリズムの学習を妨げるとしたら、qsortがあるCだってソートの学習に向いていないことになってしまう
ある機能が学習の妨げになるというのなら、それを使わないようにすればいいだけ
それに、より原始的なほうが適しているというのなら、マシン語やアセンブリ言語から学ぶべきだし、
GCがアルゴリズムの学習を阻害するというのも意味がわからないな
Re: (スコア:1)
> GCがアルゴリズムの学習を阻害するというのも意味がわからないな
ここだけ説明、GC のある言語でマージソートのようなメモリを
確保するアルゴリズムを実装すると、実装に仕方にもよるけど、
正体不明の速度低下を引き起こすことがあったりするんですよ。
私自身の体験ですけどね。
で、アルゴリズムの素の性能を見極めるときの邪魔にならないかなぁと思ったと。
Re: (スコア:0)
教科書通りに再帰的なコードを書かなければ問題はないかと。
現場では絶対に再帰的なソートなんて書きませんし。
スタックオーバーフローを避けるために通常ループに展開します。
演算子とループ構文とIf構文と配列だけで出来ますから。
なんで再帰的なソートを初めに教えるのか理解に苦しみます。
更に、マージソートは改善策が沢山在って(以下うんちく
Re:アルゴリズムのお勉強 (スコア:0)
コードがループで書かれても、このアルゴリズムは再帰的なんだから、再帰的なソートを教えるのは当たり前じゃないかな。