データを配列に入れてbox=[1,2,3,・・・]として最大値を求めるプログラムを作成する。
1.データ数が1のとき、box[0]が最大値となる
2.データ数が2のとき、box[0]をグループ1としbox[1]をグループ2として、グループ1の最大値とグループ2の最大値を比較し
大きい方がデータの最大値となる。
3.データ数が4のとき box[0]~box[1]をグループ1としbox[2]~box[3]をグループ2としてグループ1の最大値とグループ2の最大値を比較し
大きい方がデータの最大値となる。
4.データ数が8のとき、box[0]~box[3]をグループ1としbox[4]~box[7]をグループ2としてグループ1の最大値とグループ2の最大値を比較し
大きい方がデータの最大値となる。
5.データ数が16のとき、box[0]~box[7]をグループ1としbox[8]~box[16]をグループ2としてグループ1の最大値とグループ2の最大値を比較し
大きい方がデータの最大値となる。
6.データ数が32のとき、box[0]~box[15]をグループ1としbox[16]~box[32]をグループ2としてグループ1の最大値とグループ2の最大値を比較し
大きい方がデータの最大値となる。
このようにn(データが2のべき乗)のときbox[[0]~box[(n/2)-1]をグループ1としbox[n/2]~box[n-1]をグループ2
としてグループ1の最大値とグループ2の最大値を比較し
大きい方がデータの最大値となる。
最小値も同様な考え方でできる。
続きを読む
最近のコメント