1. 各种范数的特性
- L0范数
- L1范数
- L2范数
- 无穷范数
两位大佬讲得很好 直接引用过来
范数(norm) 几种范数的简单介绍
闵可夫斯基距离
曼哈顿距离与欧几里得距离
该距离最常用的 p 是 2 和 1,
其中,p=1——曼哈顿距离
p=2——欧几里得距离
举个栗子
我们要从P到Q
(其中白色——高楼大厦 灰色——街道)
绿色斜线就是欧几里得距离(Euclidean distance)(现实中不可能)
平面上到原点欧几里得距离(p = 2)为 1 的点所组成的形状是一个圆
其他三条折线表示了曼哈顿距离(Manhattan distance)(三条折线长度相等)
切比雪夫距离
当 p 趋近于无穷大时,闵可夫斯基距离转化成切比雪夫距离(Chebyshev distance):
范式球 范式锥 欧式球 椭球
根据P 的变化,范数也有着不同的变化,一个经典的有关P范数的变化图如下:
上图表示了p从无穷到0变化时,三维空间中到原点的距离(范数)为1的点构成的图形的变化情况。
-
以常见的L-2范数(p=2)为例
此时的范数也即欧氏距离,空间中到原点的欧氏距离为1的点构成了一个球面。 -
当 p < 1 时,闵可夫斯基距离不再符合三角形法则
当 p < 1, (0,0) 到 (1,1) 的距离等于 (1 1)^{1/p} > 2, 而 (0,1) 到这两个点的距离都是 1
- p>1时
2.如何评估算法性能
(1)找出算法中重复执行次数最多的语句的频度来估算算法的时间复杂度;
(2)保留算法的最高次幂,忽略所有低次幂和高次幂的系数;
(3)将算法执行次数的数量级放入大Ο记号中。
例题练习
老师上课时给了一道习题
f(n)=(n*n! + 3(n+2) + 3 * n100) * (nn + n * 3(n+2))
来 分析下~
计算(A)*(B)的时间复杂度
只需要拿出来A B中时间复杂度最高的项进行相乘即可~
A中的话——
上图
还不够清晰?
那就借某乎上大佬的一个回答
嗯 很明显啦
B中——
根据上图
nn也不是个好惹的主。。时间复杂度超高
综上所述 在此式中 两个括号中时间复杂度最高的项为——
所以f(n)的时间复杂度为O(n!*n(n+1))
谁才是时间复杂度最高的那个项?
这里就很清晰啦
nn就是那个时间复杂度最高的项~