关于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的时间复杂度而言,相当于前者直接按索引比较,后者先按行分,再按索引取最大值(此处的索引即按元素比较)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部