算法基础1

算法的特性:

1.有穷性(不能陷入死循环)

2.确定性(同样的输入只能输出唯一的结果)

3.可行性(通过基本运算执行有限次来实现)

4.输入

5.输出

“好”算法的性质:

1.正确性

2.可读性

3.健壮性(对特殊输入有相应的处理输出例如:错误)

4.高效率和低存储量需求(即时间复杂度低和空间复杂度低)

算法的时间复杂度:

void love(int n)
{
for(int i=1;i<=n;i++)
{
printf("I love you %d time",i);
}
printf("I love you more than %d time",n);
}

在上述代码中时间复杂度

T(n)=2n+2

即每行代码运行的次数

a.加法规则

T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n));

max规则:

O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)

顺口溜:常对幂指阶

b.乘法规则

T(n)=T1*T2=O(f(n))*O(g(n))=O(f(n)*g(n))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值