
「アルゴリズム」の意味がいまいちよくわかりません。
イメージとしては「プログラム」と言うことでしょうか?
以前した質問ですが
http://okwave.jp/qa4995619.html
このようなvbaのコードも
「アルゴリズム」と呼べるのでしょうか?
アドバイス宜しくお願い致します。
No.7
- 回答日時:
良いアルゴリズムと悪いアルゴリズム
というのは判定が難しいことが多いです。
そのプログラムが実行される状況によって異なります
例えばソート ヒープソートが一番早いといわれていますが
少ない件数ならバブルソートでも十分です。
質問者の捜されたURLに出ている2分検索法も件数が少ないなら上から順番につき合わせるほうが早いでしょう。
「メモリーを多く使用するけど早い」「メモリー消費が少ないけど遅い」
どちらを選択をすかという場合もあります。
プログラミングに当たって
どのアルゴリズムを採用するかは重要ですが
そのほかにも
変数や関数の名称の付け方
サブルーティンやファンクションの切り分け方
などセンスが問われるところです。
これもメンテナンス時に大きな要素のなります。
「エレガント」なコードを書くのはなかなか難しいものですが
いつもそういうことを意識しておくことが大事かなと思っています。
No.6
- 回答日時:
処理手順、処理方法、解決方法、などの意味かと思ってました。
「良いアルゴリズム」=「より効率的な処理手順」
「良いアルゴリズム」=処理の手順が少ない解法=必然的に高速になる。
という感じで。
有名なのでは
1~10を全て足すといくつになるか?
という問題です。
(01)単純に1~順番に足す方法
(02)1と10、2と9、3と8、4と7、5と6を足す。つまり11×5
(01)も(02)も1つのアルゴリズムだと考えればよいのではないでしょうか?
参考URL
http://research.nii.ac.jp/~uno/algo_3.htm
ただ、
良いアルゴリズム=初心者プログラマなど、誰もがメンテしやすいもの
でない場合も稀にあると思いますので、
高度なアルゴリズム重視か、メンテや理解しやすさ重視か、
ケースバイケースで考えないといけないと思います。
No.5
- 回答日時:
アルゴリズムとは問題の解法手順のことですから
どんなに簡単でもアルゴリズムはアルゴリズムです。
ただ例の場合は実際のコンピュータは複雑な処理をしていますが
このコードは
Dirという関数を呼ぶ
結果によってMkdirという関数を呼ぶ
というようなものですから別に特別な解法手順ではありません
Dirという関数の中身自体は結構複雑なことをしているしそれらのから呼ばれるまた多くのプログラムがあるわけで、中には結構複雑なアルゴリズムが存在しています。
Excelのワークシート関数でもかなり複雑なアルゴリズムで機能しています
どういう手順で答えをだしているか考えてみるのもアルゴリズムの勉強になるかもしれません。
Vlookup関数は「二分検索法」というアルゴリズムで機能しています
この辺りから調べてみたらどうですか?
No.3
- 回答日時:
こんばんは。
Sub test()
If Dir("C:\バックアップ\" & Date$, vbDirectory) = "" Then
MkDir "C:\バックアップ\" & Date$
End If
End Sub
書いた人には失礼かもしれませんが、私は、これは定型化したコードであって、アルゴリズムには至らないと思います。そこに解法のテクニックが含まれなくてはならないと思います。
アルゴリズムというのは、解法のための手順であって、それは、数学の天才やプログラムの天才によって作られたもので、公になっているものだと思っています。また、アルゴリズムは、コンピュータ言語の前から存在し、それをコンピュータ言語に移植しただけのものも多くあります。個人では、よほどできる人でない限りは、なかなか解けないものも多いのです。たとえば、ソートのアルゴリズムなどがよく使われます。なお、アルゴリズム自体は、著作権が存在しません。
No.2
- 回答日時:
Wkiより
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB% …
アルゴリズムとは、コンピューティングに関連する分野において、問題を解くための効率的手順を定式化した形で表現したもの
コンピュータにアルゴリズムを指示するための(電子)文書をプログラムという
ということです。
この回答へのお礼
お礼日時:2009/09/06 01:42
「問題を解くための効率的手順を定式化した形で表現したもの」
ですね。
wikiも見たんですが、文字が多すぎて難しくて^^;
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
BCDについて
-
OpenCVのライセンスについて
-
三次元形状曲面の導出法
-
一番近い組み合わせを見つけるには
-
openSSLのAES暗号化アルゴリズ...
-
[ EXCEL VBA ] 図形を読み込む...
-
ファイルの開き方
-
CASLIIのプログラム(並び替え...
-
あるプログラムのコマンドライ...
-
Bluestacks内でダウンロードし...
-
変化させるセルが変化しない
-
CPUが16bitでも32bitOSでコンパ...
-
寿命
-
65536は2の何乗なのでしょうか?
-
自動クエリとはどういうもので...
-
Excelで4096点以上のFFTの方法
-
バッチファイルでUSB挿入時に実行
-
フローチャートの菱形が狭い。。。
-
VBAで仕様書は書きますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
BCDについて
-
経路探索について
-
[ EXCEL VBA ] 図形を読み込む...
-
ハノイの塔のさいきアルゴリズ...
-
最大公約数を求めたい!
-
C♯で電卓を作成しています。演...
-
アルゴリズムとプロトコールの違い
-
ゲームプログラミングC/C++、SR...
-
シードを考慮したトーナメント...
-
アルゴリズムが苦手な人の、特...
-
c言語で画像から文字を認識 キ...
-
Stuck
-
Dijkstraて
-
グループを均等に分けるには?...
-
(文字列検索の手法について)...
-
多変数関数の最小値を求めるプ...
-
ハッシュアルゴリズム
-
期間重複チェックがわかりません
-
情報Iの「アルゴリズムの表現」(...
おすすめ情報