Browse Source

Updated the matrix chain problem to backtrack and print the solution.

pull/18/head
jrtechs 6 years ago
parent
commit
a053d0213d
1 changed files with 14 additions and 3 deletions
  1. +14
    -3
      other/minMul.py

+ 14
- 3
other/minMul.py View File

@ -6,6 +6,13 @@ Jeffery Russell
""" """
def generateMinOrdering(C, i, j):
if i == j:
return str(i)
return "(" + generateMinOrdering(C, i, C[i -1][j -1]) + generateMinOrdering(C, C[i -1][ j -1] +1, j) + ")"
def minMul(S): def minMul(S):
""" """
Simple function to print the matrixes used in Simple function to print the matrixes used in
@ -41,7 +48,10 @@ def minMul(S):
for i in range(0, n): for i in range(0, n):
for y in range(0, n): for y in range(0, n):
print(str(c[i][y]) + " ", end =" ") print(str(c[i][y]) + " ", end =" ")
print()
print()
print(generateMinOrdering(c, 1, len(S)))
""" """
@ -49,7 +59,8 @@ Makes sure that other programs don't execute the main
""" """
if __name__ == '__main__': if __name__ == '__main__':
try: try:
minMul([(10,100),(100, 5),(5, 50)])
#minMul([(5,10),(10,3),(3,12), (12,5), (5,50), (50,6)])
#minMul([(10,100),(100, 5),(5, 50)])
minMul([(5,10),(10,3),(3,12), (12,5), (5,50), (50,6)])
#minMul([(30,35),(35,15),(15,5), (5,10), (10,20), (20,25)])
except KeyboardInterrupt: except KeyboardInterrupt:
exit() exit()

Loading…
Cancel
Save