LoginSignup
0
1

More than 3 years have passed since last update.

[基本情報技術者試験]配列の最大値のアルゴリズムをPythonで書いてみた。

Posted at

概要

  • 基本情報技術者試験の午後の試験でアルゴリズムがあります。過去問を解いても理解ができません…。実際にアルゴリズムをPythonで書いて、理解を深めていきたいと思います。

  • 前回はユークリッドの互除法のアルゴリズムを書きました。

  • 今回は配列の最大値のアルゴリズムから書いてみます。

配列の最大値

アルゴリズム

  • 配列の先頭の要素を仮の最大値とする。配列の残りの要素と仮の最大値を順番に比較して、より大きい値を見つけたら仮の最大値を更新する。

コード

# 配列の最大値を求めるMax関数
def Max(A,Length):
    Ans = A[0]
    # 繰り返し処理
    i = 1 # ループカウンタの初期値を1にする
    while i < Length:
        print("Ans=",Ans,"i=",i,"A[i]=",A[i])
        # 分岐処理
        if A[i] > Ans: # 新たに取り出した要素が仮に最大値より大きければ
            Ans = A[i] # 仮の最大値を更新する
        i+=1
    return Ans

print("実行結果:",Max([12,56,78,34,90],5))

実行結果

Ans= 12 i= 1 A[i]= 56
Ans= 56 i= 2 A[i]= 78
Ans= 78 i= 3 A[i]= 34
Ans= 78 i= 4 A[i]= 90
実行結果: 90

まとめ

  • 配列の最大値は意外に難しい
  • 次回は線形探索をのアルゴリズムを書こうかな

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1