python 矩阵连乘
'''
矩阵连乘问题
A1 A2 A3 A4 A5 A6...相乘,求计算量最小的加括号的方式
m[i][j] :A[i]到A[j]的计算量
s[i][j] :A[i]到A[j] 应该加括号的地方
'''
def MatrixChain(p, n, m, s):for r in range(2, n+1):for i in range(1, n-r+2):j = i+r-1m[i][j] = m[i+1][j] + p[i-1]*p[i]*p[j] #计算m[i][j]s[i][j] = i #计算s[i][j]for k in range(i, j): #把计算量大的m替换掉t = m[i][k] + m[k+1][j] + p[i-1]*p[k]*p[j]if t < m[i][j]:m[i][j] = ts[i][j] = kdef Traceback(i, j, s):if i == j:print('A%d'%(i), end='')return #i==j 时输出Aiprint("(", end='') #输出左括号,调用递归,输出右括号Traceback(i, s[i][j], s)Traceback(s[i][j]+1, j, s)print(")", end='')p = input().split()
n = len(p)
p = [int(x) for x in p] #输入A1的行数和列数以及A2,A3...的列数
m = []
s = []
for i in range(n):m.append([])s.append([])for j in range(n):m[i].append(0)s[i].append(0) #初始化m, s
MatrixChain(p, n-1, m, s)
Traceback(1, n-1, s)
输入输出样例:30 35 15 5 10 20 25
((A1(A2A3))((A4A5)A6))
python 矩阵连乘相关推荐
- python中的[:-1] [:,:-1] python矩阵numpy中array的冒号 逗号
如何理解[:-1] [:,:-1] data = np.loadtxt('data.csv', delimiter = ',') X = data[:,:-1] #取所有行,取列到倒数 ...
- python 矩阵中的冒号 逗号
python 矩阵中的冒号 逗号 https://blog.csdn.net/Strive_0902/article/details/78225691?utm_source=blogxgwz0 pyt ...
- python矩阵相加_【python矩阵相加怎么做,这可是证明python功能的大好机会】- 环球网校...
[摘要]今天的python实践内容是为了让大家了解python矩阵相加方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...
- python矩阵中插入矩阵_Python | 矩阵的痕迹
python矩阵中插入矩阵 The sum of diagonal elements of a matrix is commonly known as the trace of the matrix. ...
- python矩阵转置_Python 矩阵转置的几种方法小结
我就废话不多说了,直接上代码吧! #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): fo ...
- python矩阵_Python矩阵
python矩阵 In this tutorial we will learn about Python Matrix. In our previous tutorial we learnt abou ...
- python 矩阵求转置、行列式、迹、求逆
python 矩阵求解 import numpy as np 1.转置 a=np.eye(3) print(a.T) 2.各列元素和 print(sum(a)) 3.求矩阵行列式 print(np.l ...
- python 矩阵转置
python 矩阵转置 matrix = [ ... [1, 2, 3, 4], ... [5, 6, 7, 8], ... [9, 10, 11, 12], ... ] 以下实例将3X4的矩阵列表转 ...
- python矩阵的右下半部分【简单易懂,代码可以直接运行】
python矩阵的右下半部分[简单易懂,代码可以直接运行] 输入一个二维数组 M[12][12],根据输入的要求,求出二维数组的右下半部分元素的平均值或元素的和. 右下半部分是指次对角线下方的部分,如 ...
- python矩阵的切片操作
python矩阵的切片操作 import numpy as npa = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, ...
最新文章
- linux内存分配缺陷,Linux系统优化-内存错误分析
- 六十一、深入学习位运算
- Codechef REBXOR HYSBZ - 4260(01字典树+区间异或最大)
- java查找链表中间元素_如何通过Java单次查找链表的中间元素
- 我去,这几个Linux指令太装B了|动图展示
- mysql5.5.49.tar.gz_CentOS6.5 解压安装 二进制分发版 mysql-5.5.49-linux2.6-x86_64.tar.gz
- 新来的妹纸问我,如果把几百万数据放入内存,会不会把系统撑爆?
- Java异常处理机制(基础知识)
- ipynb--pdf
- 一些爱不释手的 Chrome 插件
- Golang学习之路(一):Golang安装和配置
- 导线水平角及边长观测实习记录
- 家用台式电脑计算机上的硬磁盘,台式电脑如何连接硬盘
- Redis复习记录(二):数据类型与基本操作
- @Adaptive注解
- 浙江大学的计算机考研难度,浙江大学部分专业考研难度分析
- 建模计算机处理器,实战建模渲染,用锐龙7 5800X拒绝拖稿
- Ubuntu 使用 create_ap 开启 wifi 热点
- 我们应该怎样面对自己
- 使用源码编译安装AMD ROCm
热门文章
- 多线程相关知识点详解
- 什么是多道程序设计技术,试述多道程序运行的特征。
- 【安全】(三)Django之SQL注入防御
- 决定要收藏,让你白嫖阿里矢量图(iconfont矢量图使用)
- 【经验分享】统计学算法大全及方法适用场景(必看)
- mac电脑用计算机名共享打印机,苹果电脑怎么连接共享打印机_苹果电脑连接共享打印机的具体教程-系统城...
- rls自适应滤波器matlab实现,rls算法的自适应滤波器matlab仿真作业.doc
- 信号处理中的预加重、去加重和均衡
- CSRF--跨站请求伪造
- 计算机信息安全专业代码0839,网络安全/信息安全专业大学排名(2017-2018-安全导航)...