Python のスライディングウィンドウ

Vaibhhav Khetarpal 2022年4月14日
Python のスライディングウィンドウ

任意の時点で、特定のデータ構造のサブセットであると言えるウィンドウは、スライディングウィンドウと呼ばれます。ウィンドウサイズは、このサブセットが保持する要素の数を決定します。

このチュートリアルでは、スライディングウィンドウについて説明し、Python でスライディングウィンドウを実装する方法を示します。

スライディングウィンドウを使用する主な理由は、時間の複雑さを軽減することです。これは、ブルートフォース法を使用して解決された問題をさらに高速で解決することを専門としています。

スライディングウィンドウは、単純なコーディングタスクや、デジタル画像処理やオブジェクト検出などの巨大で高度なタスクに役立ちます。ただし、この記事では、スライディングウィンドウとその使用方法を理解するのに役立つ簡単な領域に焦点を当てます。

これをよりよく説明するために、問題の例を取り上げて、それにスライディングウィンドウを実装します。この記事では、次の問題を取り上げます。

サイズ x の数の配列が与えられます。合計が最大のウィンドウサイズ k のサブ配列を見つけます。

入力:x = [12,11,10,23,55,45,15,28]、k=3。

次に、この問題を解決するためにスライディングウィンドウを適用します。

n = int(input("enter size of array "))
print("enter arrays elements")
a = list(map(int, input().split()))
k = int(input("enter the size of subarray "))
ms = -(10 ** 6)
ws = sum(a[:k])
for i in range(n - k):
    ms = max(ms, ws)
    ws = ws - a[i] + a[i + k]
ms = max(ms, ws)
print("subarray of size {} with maximum sum as {}".format(k, ms))

上記のコードは、次の出力を提供します。

enter size of array 8
enter arrays elements
12 11 10 23 55 45 15 28
enter the size of subarray 3
subarray of size 3 with maximum sum as 123
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python Array