Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで配列内の最大要素を見つける方法【初心者向け解説】

本記事では、配列の中から最大の要素を見つけるための解法とアプローチについて詳しく解説します。

問題の概要

配列が入力として与えられたとき、その中から最も大きい要素を見つけ出すことが課題となります。

アプローチ

この問題は「線形探索」と呼ばれるシンプルな手法で解決できます。手順は以下の通りです。

  • まず、変数 max を配列の最初の要素で初期化します。
  • 次に、2番目の要素から配列の末尾まで順番に走査していきます。
  • 走査中の各要素について、現在の max の値と比較します。
  • 要素が max より大きければ、max の値をその要素で更新します。
  • そうでなければ、そのまま次の要素へ進みます。

この処理を配列の最後まで繰り返すことで、全体の最大値が求まります。計算量は O(n) となり、非常に効率的です。

それでは、実際の実装を見てみましょう。

実装例

def largest(arr,n):
   # 最大要素を求める
   max = arr[0]
   for i in range(1, n):
      if arr[i] > max:
         max = arr[i]
   return max
# メイン処理
arr = [10, 24, 45, 90, 98]
n = len(arr)
Ans = largest(arr,n)
print ("Largest in the given array is",Ans)

出力結果

Largest in the given array is 98

下図のように、このプログラムではすべての変数と関数がグローバルスコープで宣言されています。

Pythonで配列内の最大要素を見つける方法【初心者向け解説】

補足:組み込み関数を使った別解

Pythonでは、組み込み関数 max() を使えば1行で最大値を取得することも可能です。

arr = [10, 24, 45, 90, 98]
print("Largest in the given array is", max(arr))

ただし、アルゴリズムの動作原理を理解するうえでは、自前で比較処理を実装する方法を知っておくことが重要です。

まとめ

本記事では、配列内の最大要素を見つけるための基本的なアプローチについて学びました。最初の要素で初期化した変数と各要素を順に比較していくというシンプルな線形探索の考え方は、最小値の検索など他の問題にも応用できる基礎テクニックです。

  1. Pythonで配列(リスト)の合計を求める方法をわかりやすく解説

    この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に

  2. Pythonで配列内の最大要素を見つける方法【初心者向け解説】

    本記事では、配列の中から最大の要素を見つけるための解法とアプローチについて詳しく解説します。 問題の概要 配列が入力として与えられたとき、その中から最も大きい要素を見つけ出すことが課題となります。 アプローチ この問題は「線形探索」と呼ばれるシンプルな手法で解決できます。手順は以下の通りです。 まず、変数 max を配列の最初の要素で初期化します。 次に、2番目の要素から配列の末尾まで順番に走査していきます。 走査中の各要素について、現在の max の値と比較します。 要素が max より大きければ、max の値をその要素で更新します。 そうでなければ、そのまま次の要素へ進みます。 この処