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

最小コストパスのためのPythonプログラム


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

問題の説明 −コストマトリックスと位置(m、n)が与えられているので、(0、0)から(m、n)に到達するための最小コストパスのコストを見つける必要があります。各セルは、あるセルから別のセルに移動するためのコストを表します。

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

# dynamic approach
R = 3
C = 3
def minCost(cost, m, n):
   # initialization
   tc = [[0 for x in range(C)] for x in range(R)]
   # base case
   tc[0][0] = cost[0][0]
   # total cost(tc) array
   for i in range(1, m + 1):
      tc[i][0] = tc[i-1][0] + cost[i][0]
   # tc array
   for j in range(1, n + 1):
      tc[0][j] = tc[0][j-1] + cost[0][j]
   # rest tc array
   for i in range(1, m + 1):
      for j in range(1, n + 1):
         tc[i][j] = min(tc[i-1][j-1], tc[i-1][j], tc[i][j-1]) + cost[i][j]
   return tc[m][n]
# main
cost = [[1, 5, 3],
        [7, 7, 4],
        [8, 5, 3]]
print("Total Cost:",minCost(cost, 2, 1))

出力

Total Cost: 13

最小コストパスのための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つのサブ配列が形成されます。 すでにソートされているサブアレイ ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう- 例