关于numpy中maximum和max时间复杂度O的笔记

提出问题: 

当在浏览numpy.max说明时,看到一句话

 when a.shape[0] is 2, maximum(a[0], a[1]) is faster than max(a, axis=0)

当a第一维形状为2时,求列最大值用maximum比max快

这是为什么呢?

函数说明:

maximum的功能:输入两个数组,按元素求最大值

max的功能:输入一个数组,按轴求最大值

时间复杂度

数组a第一维为2

向maximum传入a[0],a[1],然后按元素比较,得出每一列的最大值,时间复杂度为O(n),考虑n为每一列的数量(下同)

向max传入a,沿0轴,对比得出每个索引的最大值,时间复杂度为,O(2n)考虑max处理会处理a中的两行数据

总结

通俗来讲,此例的maximum较max的时间复杂度而言,相当于前者直接按索引比较,后者先按行分,再按索引取最大值(此处的索引即按元素比较)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值