• ベストアンサー

定番アルゴリズムを知らないとどう問題が起きる?

プログラミングにおいて、最低限の定番アルゴリズムを知っておいたほうが良いと言われますが、アルゴリズムの考案において最低限の定番アルゴリズムを知っておかないと現場とかでどういった問題が起きると思われますか? 逆に(最低限の)定番アルゴリズムを知っておくと何が嬉しいのでしょうか? 例えば、「時間がかかる」とか「肥大化しがち」とかです。 よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.1

何のために知見を蓄積し、後世に伝えるのか、というのと同じ事です。 ソフトウェア開発では必要のない再発明が嫌われます。 1)再発明にかかる時間 2)テストにかかる時間 3)共有にかかる時間 4)信頼性の確認・問題点の洗い出しにかかる時間 これらが無駄です。

その他の回答 (2)

  • hahaha8635
  • ベストアンサー率22% (800/3609)
回答No.3

OOPに覚醒していれば何も問題が起こらない オブジェクト脳なんていらない http://www.geocities.jp/objectbrain/donotneedobjectbrain.html ↑ 笑い話 >>(最低限の)定番アルゴリズムを知っておく ということをと同じことを言ってます 笑えれば覚醒してます

  • agehage
  • ベストアンサー率22% (2552/11346)
回答No.2

「車輪の再発明」とか「愚者は経験に学ぶ、賢者は歴史に学ぶ」とかを調べてみてください

関連するQ&A

  • アルゴリズム系の問題知りませんか?

    再来週大学院試験を控えている者です。 入試の項目に「プログラミング(アルゴリズム)」と書いてあり、ある程度複雑なアルゴリズムを考えるような問題が出る事が予想されます。 きっと二分探索木やクイックソートのような問題が出るように思います。 アルゴリズムを考えるような問題としていい問題ご存じないでしょうか? アルゴリズムを考えるような問題としてはハノイの塔とかよいように思いますが ちょっと入試の問題としては出ないような気がします。 自分では他に線形リストやスタックなども勉強したんですが、 C,JAVA,Pascal,フォートランなどどの言語で回答してもよい事になっているので言語に限定した問題は出ないように思います。 90分で解く3問あるうちのプログラムは1つですから30分以内に解けるような問題のはずです。 (出題される可能性も考えていただければ幸いです)よい問題をご存知でしたら教えてください。 よろしくお願いします。

  • アルゴリズム

    この問題も分かりません。 あるアルゴリズムの実行時間がO(NlogN)であり、別のアルゴリズムは(N~3)であるとする。 このことから2つのアルゴリズムの性能についてどのようなことがいえるか。 分かる方、よろしくお願いします。

  • アルゴリズム

    アルゴリズムの勉強をしていて、時間計算量に関する問題があり、解いたのですが、解答が載ってなく困ってます。正誤の判断と、もし間違っているなら、何が間違っているのかを教えて頂けると助かります。 ある問題において、大きさ(データ量)nに対して、アルゴリズムA、B、Cの時間計算量が、それぞれn、n^2(nの2乗)、2^n(2のn乗)であるとする。 (1)アルゴリズムAを用いて10秒間にn=100の問題が解けた。20秒かけるとき扱える問題の大きさnの値を求めよ。 解) n=100*2 =200 (2)ある計算機を用いてアルゴリズムBで10秒間にn=100の問題が解けた。100倍早い計算機を用いたとき、10秒間に扱える問題の大きさを求めよ。 解) 求める問題の大きさをxとおくと n=(100^2)*100 =10000*100 =1000000 (3)アルゴリズムCを用いて1時間にn=20の問題が解けた。n=40の問題を解くのに何時間かかるか。 解) 2^40=(2^20)*(2^20) =1*(2^20) =2^20[時間]

  • 遺伝的アルゴリズム

    10個の荷物(1.0キログラム、5.0、2.0、…etc)が一つずつあるとして、それらの荷物を一つずつリュックサックに入れるとき、総重量が30キロを越えないようにしたい、という問題を遺伝的アルゴリズムでプログラミングしたいのですが、その荷物を入れる場合は1、入れない場合は0というようにする場合、どうプログラミングすればよいのでしょうか。どうしても分からないので、プログラムをそのまま記述して頂けると非常にありがたいです。よろしくお願いします。

  • プログラミングとかアルゴリズムとかの質問です。

    こんにちは。 私はシステムエンジニア志望の大学2年生です。 プログラミングとかアルゴリズムとかの手順書に関して3つほど質問があります。 よろしくお願いします。 (1)「プログラミング」がコンピュータに対しての作業手順で、「アルゴリズム」は問題を解くための解法手順のことだと勉強しました。(間違ってたかな)   そこで質問なんですが2つの手順はどう噛み合うのでしょうか? (2)プログラミング言語を全体的・体系的に把握したいのですが、上手くまとまりません。   全部で何種類ぐらいあってどういう分類(大分類・中分類・小分類)ができるんでしょうか? (3)手順書を書く時は時系列に沿ってればいいと思い、因果関係とか時間順に書いていると頭が痛くなり気持ち悪くなります。   まっすぐ直列に書くのではなく、ツリー図みたいに並列に手順を組む方法ってありますか? もし宜しければご回答をよろしくお願いします。

  • ◆アルゴリズムについて

    ◆アルゴリズムについて なるべく沢山の意見を寄せられると助かります。 関西にある某専門学校の事です。 俺は「初心者でもついていけますか?」と聞き、 受け付けは、「普通の問題だから初心者でもついていけます」と答えました。 それがアルゴリズムなのですが、その参考書を開くとわからないの桁が違い、自習のやり方すら何をすればいいのかわかりません。 勿論、授業もさっぱりわかりませんでした。 先生方や受け付けは、質問すればいい、とか、聞けばわかる、の返答ばかり・・・。 難しすぎて何を質問すればいいのか、わからないくらいのものでした。 授業料を無駄にしたくなく何とかついていこうとして、ついていけず、タガが外れてうつ病にかかりました。 事実上、リタイアしてしまいました。 自分のできる最大限の努力はしたのですが・・・ ・そこで聞きたいのですが、アルゴリズムは普通の問題なのでしょうか? ・初心者でもついていける科目なのでしょうか? ・またアルゴリズムを習得するには、大体何年かかりますか?

  • アルゴリズムの特許?

    画像処理の勉強をしているのですが、画像処理のアルゴリズムの定番に上げられているようなものには特許があるのでしょうか? 特にバイキュービック補間について特許があるのかが知りたいのですが、どこでどうやって調べれば良いのかきっかけすらつかめていません。これは自由に使ってもよいということなのか少々気になります。 特定のライブラリを使ってどうこうするというわけではなく、一から自分で書いたソースが後々権利の問題になったという事態だけは避けたいのですが、どなたかお知恵を拝借させていただきたいです。どうぞよろしくお願いします。

  • 暗号化・復号化のアルゴリズムにはどんなものがありますか?

    Cでプログラミングを勉強しており、20文字ほどの文字列を暗号化・復号化するプログラムを考えていますが、ネットを検索しても暗号化アルゴリズムでなかなかいいものが見つかりません。 私のリクエストとしては ・暗号化対象は半角英数字、半角記号のみ。 ・単に文字コードを1つずつずらしたような簡単な暗号ではなく、複雑なアルゴリズムを使用したい。 ・アルゴリズムは複雑でもプログラムは簡潔にできるものがいい。(長くても数百行程度)。 ・アルゴリズム自体の仕様が公開されている。 ・アルゴリズムは数学式で表せるものがいい。 ・スーパーコンピュータを使わなければ解けないほど時間がかかる暗号化アルゴリズムでなくてもいい。 ・暗号化のライブラリファイルは使わず、自前で全部コードを書きたい。 ・公開鍵や秘密鍵を使わなくてもいい。 上記の条件を満たす暗号化アルゴリズムでいいものがありましたら、教えてください。 以上、よろしくお願いします。

  • 支配集合問題に対する近似アルゴリズム、についての問題です。

    支配集合問題に対する近似アルゴリズム、についての問題です。 次の様な問題です。 「グラフ G=(V,E) に対し、支配集合を次のように定義する: 定義1 (支配集合). 頂点の部分集合 D⊆V は、Dに属さない全ての頂点に対して少なくとも1つのDに属する頂点が隣接するときに支配集合という。 与えられたグラフにおける大きさ最小の支配集合を見付ける問題を支配集合問題という。この問題に対する近似アルゴリズムを与え、そのアルゴリズムの近似率を求めよ。」 正直に言って、糸口さえ掴めず全く分かりません。 近似アルゴリズムに詳しい方、回答をよろしくお願いします。

  • 再帰アルゴリズム

    再帰アルゴリズムの練習のため問題に取り組んでいるのですが、問題集に解答がついておらずイマイチ理解できていないので教えていただけると助かります。 d個の毎インデックスで(0,0,...,0)から(n,n,...,n)まで反復させるアルゴリズムを反復アルゴリズムと再帰アルゴリズムの両方考えよ です。 (0,0,0,...,0) (1,0,0,...,0) (1,1,0,...,0) (1,1,.....,1) ... (n,n,.....,n) と表示を繰り返すプログラムでいいのかな、と思い反復の方は二十ループを用いてプログラムかけたんですが、再帰の法がアルゴリズムがどうも理解できていません。 ご教授願えればと思い、お願いします。

専門家に質問してみよう