アルゴリズムとデータ構造
Completion requirements
プログラム = アルゴリズム+ データ構造 + コーディング
プログラムにもよるが,アルゴリズム + データ構造 でほぼ 80%
従って,プログラミングでは アルゴリズムとデータ構造を考えることが,一番大事である.
データ構造が云々などという問題は入門では扱わないので,入門ではアルゴリズムでほぼ80%
データ構造を記述することが面倒な場合は --> オブジェクト指向へ.
1.アルゴリズム
アルゴリズムは問題を解くための有限の手順.
例) 最大公約数を求めるユークリッド除去法
- 整数 i, j を入力
- i = j なら i を最大公約数として出力して終わり
- i<j なら i と j を入れ替える
- i -j を新しい i とする.
- 2へ戻る.
上記のアルゴリズムのフローチャートを書いてみよう.
フローチャートの通りにプログラムを書いてみよう
#include <stdio.h>
main()
{
int i, j;
fprintf(stderr, "Input Num = ");
scanf("%d", &i);
fprintf(stderr, "Input Num = ");
scanf("%d", &j);
fprintf(stderr, "Inputed Data are %d and %d\n", i, j);
while (i!=j) {
if (i<j) {
int swp = i;
i = j;
j = swp;
}
i = i - j;
}
fprintf(stderr, "Ans = %d\n", i);
}
Last modified: Wednesday, 3 June 2015, 3:55 PM