-
2020-10-19 22:16:30
☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░
一、引言
在写该文之前,老猿就图像的一些运算已经单独边学边发了,在写这些文的过程中,发现这些运算函数共同点很多,例如大部分参数一样、部分处理方法一样等,另外还有些函数可以实现相同或近似的效果,因此在前面那些文章的基础上,将其综合为一个整体来发布,更方便大家阅读。
OpenCV中图像存储为矩阵,因此图像的运算其实就是矩阵的运算。图像的运算主要包括图像基础算术运算、图像加权运算(又称为图像融合)、按位运算等类别。这些运算可以直接通过numpy矩阵进行,也可以通过opencv的专用方法进行,但opencv的矩阵运算和numpy矩阵运算还是有些不同。例如在加法处理上,OpenCV加法是饱和运算(超过255即按255),而Numpy加法是模运算(超过255按256取模的结果作为结果)。对加法来说,颜色值越大OpenCV 的结果会更好,因此推荐使用opencv的进行算术运算。本文的内容全部基于OpenCV的方法进行介绍。
二、OpenCV图像运算语法
2.1、图像运算函数列表
OpenCV图像运算包括如下函数:
- 加法运算:
add(src1, src2, dst=None, mask=None, dtype=None)
- 减法运算:
subtract(src1, src2, dst=None, mask=None, dtype=None)
- 乘法运算:
multiply(src1, src2, dst=None, scale=None, dtype=None)
- 除法运算:
divide(src1, src2, dst=None, scale=None, dtype=None)
- 幂运算:
pow(src, power, dst=None)
- 开方运算:
sqrt(src, dst=None)
- 自然常数e为底的指数函数:
exp(src, dst=None)
- 对数运算:
log(src, dst=None)
- 融合权重加法:
addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
- 位与运算:
bitwise_and(src1, src2, dst=None, mask=None)
- 位或运算:
bitwise_or(src1, src2, dst=None, mask=None)
- 位异或运算:
bitwise_xor(src1, src2, dst=None, mask=None)
- 位非运算:
bitwise_not(src, dst=None, mask=None)
2.2、图像运算常用参数说明
- src:输入图像矩阵
- src1、src2:两副大小和通道数相等的输入图像或一副输入图像和一个标量(关于标量请参考《OpenCV-Python中的标量Scalar是什么》)
- dst:目标图像输出,要求与输入图像大小相同,如果传值则可以直接以实参作为目标图像存储变量,否则可以用函数返回值作为目标图像存储变量,在实参非None传入的情况下,返回值与该实参值相同
- scale:缩放因子,图像运算时,先执行src1*scale,再以该乘积进行后续运算
- mask:图像掩膜,可选参数,为8位单通道的灰度图像,用于指定要更改的输出图像数组的元素,即输出图像像素只有mask对应位置元素不为0的部分才输出,否则该位置像素的所有通道分量都设置为0。更多关于掩膜的内容请参考《OpenCV学习02-矩阵的掩膜操作》或《Opencv图像处理之详解掩膜mask》
- dtype:可选参数,输出图像数组的深度,即图像单个像素值的位数(如RGB用三个字节表示,则为24位)。在帮助文档中介绍,参数src1和src2可以有不同的图像深度(即图像像素位数,如8位、16位、24位和32位),如可以将16位图像和一个8位图像相加将输出结果保存在32位输出数组中。关于这个参数老猿研究可很长时间,因为认为如果图像深度不一样,意味着图像的通道数也不一样,通道数不一样,意味着数组大小不一样,这样的两个数组无法进行运算。后来机缘契合下自认为理解了,这里说的图像深度不是通道数*8,而是单个通道值表示的位数,即单通道不一定是8位的,也可以是16位、24位或32位的。看如下代码就明白了:
def main(): img1 = cv2.imread(r'F:\pic\shape1.png').astype(np.float32) img2 = cv2.imread(r'F:\pic\shape2.png') img = cv2.add(img1,img2,dtype=24)
上述代码将以两种不同表示方法读入两副图像,第一幅图像是以float32来表示图像单通道值,第二幅图像是缺省值uint8来表示图像单通道值,二者机器位数不同,但相加之后转为了24位图像,即单通道为8字节图像。
注:
上面介绍的dtype取值说明总体是对的,但dtype=24并不表示24位,具体含义请参考《OpenCV-Python图像像素位深表示法以及应用:https://blog.csdn.net/LaoYuanPython/article/details/109574736》。
2.3、部分图像运算函数详解
针对部分重要的图像运算,老猿在前面已经单独进行了介绍,包括:
- OpenCV-Python图像的加法运算cv2.add函数详解
- OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比
- OpenCV-Python图像乘法运算cv2.multiply函数详解及像素值溢出归一化处理
- OpenCV-Python图像除法运算cv2.divide函数及图像相除处理
- OpenCV-Python图像融合cv2.addWeighted权重加法函数详解
- OpenCV-Python图像位与运算bitwise_and函数详解
2.4、其他图像运算函数简介
-
幂运算:
pow(src, power, dst=None)
,对图像的每个通道值计算power参数对应的幂作为结果图像的通道值,如果power为整数,则直接计算幂值,如果power为浮点数,则取通道值的绝对值参与计算,即: -
开方运算:
sqrt(src, dst=None)
,对图像的每个通道值开方作为结果图像的通道值,即:dst(I)=sqrt(src1(I))
-
自然常数e为底的指数函数:
exp(src, dst=None)
,以e为底对图像的每个通道值作为幂值计算结果图像的通道值,即: -
对数运算:
log(src, dst=None)
,计算图像的每个通道值的自然对数作为结果图像的通道值,即:dst(I)=ln(src(I))
-
位或运算:
bitwise_or(src1, src2, dst=None, mask=None)
,计算两副图像每个通道值或一图像通道值与一个标量的按位或的结果作为结果图像的通道值 -
位异或运算:
bitwise_xor(src1, src2, dst=None, mask=None)
,计算两副图像每个通道值或一图像通道值与一个标量的按位异或的结果作为结果图像的通道值 -
位非运算:
bitwise_not(src, dst=None, mask=None)
,将src图像的每个通道值按位取反作为结果图像的值。
三、相关函数的作用分析
- 图像的减法、除法以及异或都可以用于分析图像的差异点,但减法和异或更准确 ;
- 加法、权重加法以及图像或运算都可以用于合并图像,但由于运算方法与差异,效果会有不同,针对不同图像的融合选择哪种方法与图像数据及应用的目标相关;
- 图像的自乘、幂运算都可以用于调整图像的对比度;
- 非运算及异或运算可以将图像的一部分图像的视觉效果提高;
- 图像乘法、位与都可以用于提取图像的感兴趣部分或者屏蔽某些部分,在这方面的功能与图像掩码的效果相同,只是实现方式不同;
- 通过阈值处理、图像求反、与处理等可以提取图像中的结构特征
四、按位运算的简单案例
前面部分图像运算函数详解中举例介绍了图像加减乘除权重加及位与的相关功能,在此补充一个简单的按位运算的案例。代码如下:
import numpy as np import cv2 def main(): img1 = cv2.imread(r'F:\pic\shape1.png').astype(np.float32) img2 = cv2.imread(r'F:\pic\shape2.png') resultImgAnd = cv2.bitwise_and(img1, img2) resultImgOr = cv2.bitwise_or(img1, img2) resultImgXor = cv2.bitwise_xor(img1, img2) resultImgNot = cv2.bitwise_not(img1) resultImgXorScalar = cv2.bitwise_xor(img1, (255,255,255,255)) cv2.imshow('img1',img1) cv2.imshow('img2', img2) cv2.imshow('resultImgAnd', resultImgAnd) cv2.imshow('resultImgOr', resultImgOr) cv2.imshow('resultImgXor', resultImgXor) cv2.imshow('resultImgNot', resultImgNot) cv2.imshow('resultImgXorScalar', resultImgXorScalar) cv2.waitKey(0) main()
运行显示的图片截屏:
五、小结
本文详细介绍了OpenCV-Python图像的加减乘除幂开方对数及位运算相关的函数及语法,并总结了相关函数的作用。OpenCV中图像存储为矩阵,因此图像的运算其实就是矩阵的运算。图像的运算主要包括图像基础算术运算、图像加权运算(又称为图像融合)、按位运算等类别。这些运算可以直接通过numpy矩阵进行,也可以通过opencv的专用方法进行,但opencv的矩阵运算是饱和运算,其运算效果比纯粹的矩阵运算效果更好。
如果觉得本文可以给您带来帮助,请大家帮忙点个赞、加个收藏,谢谢!
更多OpenCV-Python介绍请参考专栏《OpenCV-Python图形图像处理 》
专栏网址:https://blog.csdn.net/laoyuanpython/category_9979286.html关于老猿的付费专栏
老猿的付费专栏《使用PyQt开发图形界面Python应用 》(https://blog.csdn.net/laoyuanpython/category_9607725.html)专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》 (https://blog.csdn.net/laoyuanpython/category_10232926.html)详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏都适合有一定Python基础但无相关知识的小白读者学习。
付费专栏文章目录:《moviepy音视频开发专栏文章目录》(https://blog.csdn.net/LaoYuanPython/article/details/107574583)、《使用PyQt开发图形界面Python应用专栏目录 》(https://blog.csdn.net/LaoYuanPython/article/details/107580932)。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》(https://blog.csdn.net/laoyuanpython/category_9831699.html)从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。
跟老猿学Python、学OpenCV!
☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░
更多相关内容 - 加法运算:
-
矩阵的对数运算公式_对数(运算层面)
2020-11-26 12:36:41上次的文章介绍了指数运算、指数函数和幂函数,而这次介绍的对数函数可以视为是指数函数的逆运算。对数的定义是 其中称 为底数,称 为真数。有些读者可以发现,对数和方根都可以视为乘方的逆运算: 为什么实数的加法...在上一个版本的教材,对数函数位于不等式的前面,可以说是让人第一次感受到高中数学难度的内容。说句题外话,很多对高中数学乃至数学整体的误解来源于此。
上次的文章介绍了指数运算、指数函数和幂函数,而这次介绍的对数函数可以视为是指数函数的逆运算。对数的定义是
其中称
为底数,称
为真数。有些读者可以发现,对数和方根都可以视为乘方的逆运算:
为什么实数的加法和乘法只有一种逆运算,而乘方有两种?原因就是乘方不具备交换律:
一般来说
这就带来了两种不同的逆运算。
关于指数运算,有以下重要的结论:
由它们可以得到关于对数运算的一些结论。
针对上面第一个公式,我们记
于是计算
针对第二个公式,
利用简单的指数运算和对数运算性质可以得到:
我们常用的两种对数运算是以
为底和以
为底的对数运算,这里
是一个在很多场合都会自然出现的常数,这两种运算分别记为
和
进一步地,我们证明换底公式:
记
则
换底公式的最直接意义在于,我们可以把任何底数的对数运算换成特定底数的对数运算。
利用换底公式,可以进一步得出结论:
它们的本质都是
除此之外,我想说明一下发明对数运算的动机。
除了建立指数运算的逆运算这一点,我们还经常发现一些比较复杂的运算,也就是底数和指数均带有其它运算的运算。这时我们可以取对数:
这样就把复杂的指数运算变换成了乘法运算。很容易通过对数的定义证明这种变换的正确性。
现在,我们就已经在理论上解决了所有复杂的指数运算和对数运算的问题。举几个实例,它们分别利用了对数的定义、对数运算的性质和取对数运算:
(2014年全国高中数学联赛第1题)若
满足
则
记已知等式的值为
则
于是
(2016年全国高中数学联赛第3题)若
满足
则
记
则
于是
(2019年全国高中数学联赛第1题)若
满足
则
取对数得到
于是
-
对数及运算法则
2020-05-21 20:42:181.对数源于指数,是指数函数反函数 因为:y = ax 所以:x = logay 2. 对数的定义 【定义】如果 N=ax(a>0,a≠1),即a的x次方等于N(a>0,且a≠1),那么数x叫做以a为底N的对数(logarithm),记作...1.对数源于指数,是指数函数反函数
因为:y = ax
所以:x = logay
2. 对数的定义
【定义】如果 N=ax(a>0,a≠1),即a的x次方等于N(a>0,且a≠1),那么数x叫做以a为底N的对数(logarithm),记作:
x=logaN
其中,a叫做对数的底数,N叫做真数,x叫做 “以a为底N的对数”。
2.1对数的表示及性质:
1.以a为底N的对数记作:logaN
2.以10为底的常用对数:lgN = log10N
3.以无理数e(e=2.71828...)为底的自然对数记作:lnN = logeN
4.零没有对数.
5.在实数范围内,负数无对数。 [3]在虚数范围内,负数是有对数的。
-------------------------------------------------------------------------------------------------------------------------------------
注: 自然对数的底数 e :https://www.guokr.com/article/50264/
细胞分裂现象是不间断、连续的,每分每秒产生的新细胞,都会立即和母体一样继续分裂,一个单位时间(24小时)最多可以得到多少个细胞呢?答案是:
当增长率为100%保持不变时,在单位时间内细胞种群最多只能扩大2.71828倍。 数学家把这个数就称为e,它的含义是单位时间内,持续的翻倍增长所能达到的极限值。
-----------------------------------------------------------------------------------------------------------------------------------
3.对数函数
【3.1定义】
函数
叫做对数函数(logarithmic function),其中x是自变量。对数函数的定义域是
。
【3.2函数基本性质】
1、过定点
,即x=1时,y=0。
2、当
时,在
上是减函数;
当
时,在
上是增函数。
4.对数运算法则(rule of logarithmic operations)
对数运算法则,是一种特殊的运算方法。指 积、商、幂、方根 的对数的运算法则
由指数和对数的互相转化关系可得出:
1.两个正数的积的对数,等于同一底数的这两个数的对数的和,即:
2.两个正数商的对数,等于同一底数的被除数的对数减去除数对数的差,即:
3一个正数幂的对数,等于幂的底数的对数乘以幂的指数,即:
4.若式中幂指数则有以下的正数的算术根的对数运算法则:一个正数的算术根的对数,等于被开方数的对数除以根指数,即:
5.推导
5.对数公式
5.1基本知识
①
;
②
;
③负数与零无对数.
④
*
=1;
⑤
;
5.2恒等式及证明
a^log(a)(N)=N (a>0 ,a≠1)
对数公式运算的理解与推导by寻韵天下(8张)
推导:log(a) (a^N)=N恒等式证明
在a>0且a≠1,N>0时
设:当log(a)(N)=t,满足(t∈R)
则有a^t=N;
a^(log(a)(N))=a^t=N;
证明完毕
==================================================================
转载自:https://www.cnblogs.com/chenxi188/p/11050016.html
-
FPGA中实现对数运算
2019-06-07 11:00:04FPGA中实现对数运算主要有三种方法: (1)在外部直接算好对数值,按照数值范围做个表,存在ram里,到时候查表。为了减少表深度,提高资源利用率,可以考虑去掉部分低位数值,损失一定的精度。 (2)使用cordic...FPGA中实现对数运算主要有三种方法:
(1)在外部直接算好对数值,按照数值范围做个表,存在ram里,到时候查表。为了减少表深度,提高资源利用率,可以考虑去掉部分低位数值,损失一定的精度。
(2)使用cordic算法求解对数。
(3)log10(x)=ln(x) * log10(e) , log10(e)是常数可以手动先计算好,用IP Core的话多个乘法器。
下面介绍使用IP核floating-point来计算对数,该IP计算对数时,计算的是Ln(A)(A是输入),如下图所示:
输入是浮点数,所以如果我们在FPGA内使用的定点数,则需要先将定点数转化为浮点数:
实现对数运算时,可以使用DSP核心,也可以不用,IP配置中提供了三个等级:
对于Flow Control可以选择带缓存的Blocking模式,也可以选择没有缓存的NonBlocking模式,延时也可以选择从0到23:
上面也提到,计算LOG的输入是浮点数,如果需要,可以继续使用floating-point来实现定点数转浮点数,对于转换IP的输入可以自主设定如下图所示,这里设为int16+fra16,输出为单精度浮点数,可以直接给计算LOG的IP核:
我们要计算以任意数为底的对数时,可以通过来计算,由此完成一次计算,需要两个定点转浮点的IP(fixtofloat),两个LOG的IP(log不使用DSP),以及一个除法IP(divide),最后再将浮点数转为定点数输出,综合实现后的资源占用情况为:
一次简单的RTL仿真为:
-
回归分析常数项t值没有显著异于零怎么办_一文详解经典回归分析
2020-11-20 15:59:16对数似然函数: 其中 是与 无关的常数。 令对数似然函数取得最大值的必要条件: 解得: 再将上式带回对数似然函数: 它取得最大值 取得最小值,说明极大似然估计与最小二乘法是等价的。实际上也可以对对数似然函数... -
Matlap基本指令介绍(Octave同样适用)——运算 对数运算,幂运算,变量 disp() format()格式 生成随机矩阵
2020-01-19 14:11:08四则运算直接输入即可,幂运算,对数运算,如下: 对数运算 Matlap 对数运算中 log 底默认为e,即等同于 ln 。 底为2或10 时可以写成以下格式 : log2(32), log10(32) 。 其他底需要用换底公式,比如: 以7为... -
对数函数、指数函数、幂函数的区别和运算法则
2019-11-02 22:50:30对数的定义: 一般地,函数y=log(a>0,且a≠1,x(0, +∞))叫做对数函数,也就是说以幂(真数)为自变量,指数为因变量,底数为常量的函数,叫对数函数。 指数的定义: 一般地,y=函数(a为常数且以a>0,a... -
对数公式推导过程
2019-12-27 21:28:01【转载理由:对等式两边求对数,可以将复杂的连乘公式转变为加法公式,求极大似然有用到】 积、商、幂的对数推导过程 -
对数函数及运算
2018-01-29 18:36:58一般地,对数函数以幂(真数)为自变量,指数为因变量,底数为常量的函数。 对数函数是6类基本初等函数之一。其中对数的定义: 如果ax=N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=logaN,读作以a为... -
数字图像处理之点运算---对数变换
2019-04-12 20:17:30对数变换的一般形式:t=clog(1+s),其中c为尺度比例常数,s为源灰度值,t为变换后的目标灰度值。由函数曲线可知,灰度值低的时候斜率较高,灰度值高的时候斜率低哦,根据这个特点对数变换主要应用于下面的两个方向: ... -
FPGA 对数计算
2020-05-03 18:02:30FPGA中实现对数运算主要有三种方法: (1)查表 在外部直接算好对数值,按照数值范围做个表,存在ram里,到时候查表。为了减少表深度,提高资源利用率,可以考虑去掉部分低位数值,损失一定的精度。 (2)使用cordic... -
用Python对矩阵的指数对数处理
2020-12-03 17:39:50怎么用Python对矩阵的指数对数处理。 import numpy as np from scipy.linalg import expm,logm #矩阵指数计算 x = expm(np.ones((3,3))) print(x) #矩阵对数计算 y = logm(np.ones((3,3))) print(y) 当然牛X一些的... -
pandas -对数、指数、开方、判断运算及去重
2022-04-18 17:59:19对数、指数、开方、判断运算、三元运算符、去重及常用统计指标 -
21 利用对数变换进行图像变换 公式:x1=c*log(doub 联合开发网 - pudn.com
2021-04-20 03:46:5121所属分类:图形图像处理开发工具:matlab文件大小:33KB下载次数:2上传日期:2017-12-21 15:59:56上 传 者:seayon说明:利用对数变换进行图像变换公式:x1=c*log(double(x)+1)(1.Image Enhancement Using ... -
等式两边同时取对数,什么条件下能同时取对数??
2021-01-17 18:35:34展开全部当等式一边出现...等式两边同时取对数是为了便于对等式进行推理,运算。例如:1、已知y=(x+1)³(x-2)²,求导数。解:对等式两边同时取对数得:lny=3ln(x+1)+2ln(x-2)两边同时对x求导有:y'/y=3/(x+1)+2/(x... -
函数奇偶性运算法则,以及复合函数奇偶性判断 ln的运算法则,对数函数运算法则 对数函数运算法则口诀,简单...
2018-10-14 21:35:16下面给你它们四则运算的规律: 1奇函数+奇函数=奇函数 2奇函数+偶函数=非奇非偶函数(特殊的可能是别的结果,不过特殊时可以用定义判断出来的) 3偶函数+偶函数=偶函数 4奇函数*奇函数=偶函数 5偶函数*偶函数=偶函数 ... -
指数/对数/WIN10计算器
2020-07-25 20:01:35由x产品的灵敏度计算公式,引出对数函数和指数函数的回顾学习,并讲解了如何在PC计算器软件中执行指数和对数运算.. -
6.2 MATLAB数组的运算
2021-05-02 03:00:021.数组的算术运算数组的运算是从数组的单个元素出发,针对每个元素进行的运算,在MATLAB中,一维数组的基本算术运算包括加、减、乘、左除、右除和乘方。数组的加减运算:通过格式A+B或A-B可以实现数组的加减运算。... -
TensorFlow2.0(2):数学运算
2019-10-25 12:42:341 基本运算:(+、-、*、/、//、%) 基本运算中所有实例都以下面的张量a、b为例进行: In [1]: import tensorflow as tf In [2]: a = tf.random.uniform([2, 3], minval=1, maxval=6,dtype=tf.int32) ...: b = tf.... -
使用Python玩转高等数学(4):对数函数
2021-01-13 06:13:45更多文章见微信【使用Python玩转数学】微信号:langhonglin0509指数函数的反函数:y = logax (a是常数,且a>0, a!=1)叫做对数函数,它的定义域是区间(0,+∞)。把指数函数y=a^x的x看作因变量,y看作自变量,就... -
对数变换(一些基本的灰度变换函数)基本原理及Python实现
2021-01-13 19:06:251. 基本原理变换形式如下$$T(r) = c\lg(r+1)$$c为常数由于对数函数的导数随自变量的增大而减小,对数变换将输入窄范围的低灰度值扩展为范围宽的灰度值和宽范围的高灰度值压缩为映射为范围窄灰度值。从视觉上,通常是... -
自然对数
2017-02-17 11:28:25以常数e为底数的对数叫做自然对数,记作lnN(N>0)。自然对数在物理学,生物学等自然科学中有重要的意义。 中文名自然对数 外文名Natural logarithm类 别数学 目录 1数学表示方法2概念▪有关概念... -
幂函数(乘方)|指数(函数)|对数(函数)|及其运算法则
2021-07-24 02:09:34幂函数(乘方)|指数(函数)|对数(函数)|及其运算法则2018-09-23求n个相同因数的积的运算,叫做乘方(power),乘方的结果叫做幂(power),在a^n(n 标在右上角)中,a叫做底数,n叫做指数,当a^n(n标在右上角)看作a的n... -
calc:没有废话。 只是数字运算
2021-06-11 18:00:08只是数字运算。 当前功能: 处理括号内的算术表达式 当你得到答案时不会隐藏你的表情 输入新表达式时不会隐藏最后一个答案 通过丢弃无用的图形输入按钮来节省屏幕空间 去做: 触发函数 绝对值 根 对数 答案检索... -
指数函数和自然对数
2019-05-31 21:04:09指数函数和自然对数我经常想e真正的意义是什么呢?不是字母本身含义,而是作为一个数学常数的含义通过查阅自然对数的定义,你会发现:这个数学常数e是基于自然对数产生的。自然对数... -
算法笔记 - 认识复杂度、对数器、二分法与异或运算
2021-12-13 16:30:193常数项时间(实现细节决定) 基础内容 常数时间的操作 不以数据量为转移 每次执行时间都固定的 常见的常数时间操作 常见的算术运算(+、-、*、/、% 等) •常见的位运算(>>、>>>、<<、|、&... -
数字图像处理的数学变换(一) 线性点运算、分段线性点运算、非线性点运算、阈值化运算
2022-04-28 22:13:42在这些变换中,一种是在空间域上进行的,这些变换根据处理操作的特点,可以分为图像的代数运算和几何运算,它们都是利用对输入图像进行加工而得到输出图像。另一种重要的数学变换则是将原定义在图像空间的图像以某种... -
算法入门(零,认识复杂度,对数器,异或运算)
2021-06-08 22:56:531,时间复杂度(记为O(高价项)保留高价,去掉低价,常熟与系数(低价,高价)流程决定) 2,额外空间复杂度(记为O(n)流程决定) 3,常数项时间(实现代码时细节决定) 4,一个问题的最优解是什么意思? 对数器 ... -
算法时间复杂度-对数复杂度
2020-04-07 22:43:06衡量一个算法性能好坏的指标:时间复杂度、空间复杂度 在上位机中,更关注时间...对数最常出现的规律为:如果一个算法用常数时间将问题的大小削减为其一部分(通常为1/2),那么该算法的时间复杂度为O(log N) exa...