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

アクティビティ選択問題のためのPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明それぞれの開始時間と終了時間でn個のアクティビティが与えられます。一度に1つのアクティビティに取り組む場合、1人が実行できるアクティビティの最大数を選択する必要があります。

可変表記

N-アクティビティの総数

S-すべてのアクティビティの開始時刻を含む配列

F-すべてのアクティビティの終了時間を含む配列

次に、以下の実装のソリューションを見てみましょう-

#欲張りアプローチ

# maximum number of activities that can be performed by a single person
def Activities(s, f ):
   n = len(f)
   print ("The selected activities are:")
   # The first activity is always selected
   i = 0
   print (i,end=" ")
   # For rest of the activities
   for j in range(n):
      # if start time is greator than or equal to that of previous activity
         if s[j] >= f[i]:
            print (j,end=" ")
            i = j
# main
s = [1, 2, 0, 3, 2, 4]
f = [2, 5, 4, 6, 8, 8]
Activities(s, f)

出力

The selected activities are:
0 1

アクティビティ選択問題のためのPythonプログラム

すべての変数はローカルスコープで宣言されており、それらの参照は上の図に示されています。

結論

この記事では、アクティビティ選択問題用のPythonプログラムを作成する方法について学びました


  1. 単純な興味のためのPythonプログラム

    この記事では、Python3.xでの単純な利息の計算について学習します。またはそれ以前。 単利は、1日の利率に元本を掛け、支払いの間に経過した日数を掛けて計算されます。 数学的に Simple Interest = (P x T x R)/100 Where, P is the principal amount T is the time and R is the rate たとえば、 If P = 1000,R = 1,T = 2 Then SI=20.0 Now let’s see how we can implement a simple interest calc

  2. 選択ソート用のPythonプログラム

    この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでにソートされているサブアレイ ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう- 例