無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

アルゴリズムをつつく4−プログラム言語とアルゴリズムの実装。

これから個別のアルゴリズムの実装をつついていくから、先に実装面をつついておくピヨ。
アルゴリズム実装の際には比較手段扱うデータの量を考える必要があるピヨピヨ。
初心者に比較手段を問えば大概、 「そんなの>演算子で判定すればいいじゃん!そんな当たり前の事聞くなよ。」 と返事が返ってくる。さらに生意気な奴になると、人を小馬鹿にした態度で「お前馬鹿じゃないの?」と言うピヨォー。アー腹が立つーーーーーーーーーーーーー
オッホン。鳥乱してごめん。でもよく考えてみてほしい、対象データは数値とか文字列ではない可能性があるよね。そんな場合比較演算子はあるのかなぁ?無い場合もあり得るピヨ。だから、ムカつくやつには「じゃあさ、全てのオブジェクトに比較演算子が実装されていると思ってんの?」と小馬鹿にした顔で言い返そう。この難題は、実装に使用するプログラム言語の機能によるピヨ。その対処法を列挙してみたピヨ。


【言語種類別対処法】
  • オブジェクト指向機能・・・関数のオーバーロード、演算子のオーバーロードなどを活用しよう。
  • メタプログラミング機能がある言語・・・ジェネリックを活用しよう。C++やDは標準テンプレートライブラリがあるよね。万事解決!
  • 関数型の機能を持つ言語・・・再帰やラムダ式をバリバリ使おう!
  • 何も無い言語・・・仕方がないから型別に専用関数を作ろう。

次に、データ量の場合について囀るピヨ。対象となるデータの量が多い場合格納場所を考える必要があるピヨ。何故かというと、膨大なデータ量をそのまま配列とかに格納するとメモリがパンクする。こんな場合は ファイルデータベース を使用するしかない。こうなると、作業用の場所を考える必要があり、大変困難になるピヨ。という事は当然メモリに負担をかけないような実装が要求されるピヨ。これらの2点に注意して実装する必要があるピヨォー。みんな注意してね
別窓 | アルゴリズム | コメント:0 | トラックバック:0 | ∧top | under∨
<<C#を咥えてアルゴリズムをつつく0−基本選択ソート(型固定バージョン)。椅子取りゲームみたい。 | 無差別に技術をついばむ鳥 | 個別のアルゴリズムをつつく0−基本選択ソート。主は此処になおれ!>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |