ASP技术下,网页设计师的平均月薪是多少?
摘要:asp技术做网站,网页设计师工资一般多少钱一个月,如何做淘宝的站外网站推广,wordpress加速cdn本章重点: 1.算法效率 2.时间复杂度 3.空间复杂度 4. 常见时间复杂度以及复杂度oj练习 目录 1
asp技术做网站,网页设计师工资一般多少钱一个月,如何做淘宝的站外网站推广,wordpress加速cdn本章重点#xff1a;
1.算法效率 2.时间复杂度 3.空间复杂度 4. 常见时间复杂度以及复杂度oj练习
目录
1.算法效率
1.2算法的复杂度
2.时间复杂度
2.1 时间复杂度的概念
2.2 大O的渐进表示法
2.3常见时间复杂度计算举例
3.空间复杂度 4. 常见复杂度对比
5.复杂度…本章重点
1.算法效率 2.时间复杂度 3.空间复杂度 4. 常见时间复杂度以及复杂度oj练习
目录
1.算法效率
1.2算法的复杂度
2.时间复杂度
2.1 时间复杂度的概念
2.2 大O的渐进表示法
2.3常见时间复杂度计算举例
3.空间复杂度 4. 常见复杂度对比
5.复杂度的oj练习
5.1消失的数字
5.2旋转数组 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法的好坏呢比如对于以下斐波那契数列:
long long Fib(int N)
{
if(N 3)
return 1;
return Fib(N-1) Fib(N-2);
}
斐波那契数列的递归实现方式非常简洁但简洁一定好吗那该如何衡量其好与坏呢 1.2算法的复杂度 算法在编写成可执行程序后运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏一般 是从时间和空间两个维度来衡量的即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算 机发展的早期计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展计 算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。
2.时间复杂度
2.1 时间复杂度的概念 可以将算法的时间复杂度看成是一个函数类似于一个函数式子 F(N) N算法中的基本操作的执行次数为算法的时间复杂度。即找到某条基本语句与问题规模N之间的数学表达式就是算出了该算法的时间复杂度。
void Func1(int N)
{
int count 0;
for (int i 0; i N ; i)
{
for (int j 0; j N ; j)
{
count;
}
}
for (int k 0; k 2 * N ; k)
{
count;
}
int M 10;
while (M--)
{
count;
}
这个函数执行的基本操作次数可以用函数式子
来表示当N 变化时候
N 10 F(N) 130 N 100 F(N) 10210 N 1000 F(N) 1002010
对应的函数结果是不同的 那怎么衡量他的时间复杂度呢实际中我们计算时间复杂度时我们其实并不一定要计算精确的执行次数而只需要大概执行次数那么这里我们使用大O的渐进表示法
2.2 大O的渐进表示法 大O符号Big O notation是用于描述函数渐进行为的数学符号。 推导大O阶方法 1、用常数1取代运行时间中的所有加法常数。 2、在修改后的运行次数函数中只保留最高阶项。 3、如果最高阶项存在且不是1则去除与这个项目相乘的常数。得到的结果就是大O阶。 使用大O的渐进表示法以后Func1的时间复杂度为
N 10 F(N) 100 N 100 F(N) 10000 N 1000 F(N) 1000000
通过上面我们会发现大O的渐进表示法去掉了那些对结果影响不大的项简洁明了的表示出了执行次数。
