算法学习日记——什么是算法

————《趣味算法》————

算法是指对特定问题求解步骤的一种描述。算法只是对问题求解方法的一种描述,不依赖于任何语言,可以使用自然语言、程序设计语言(Java、C++、C#等)描述,也可以使用流程图、框图。一般是使用伪代码描述算法。

 

 

算法的特性

有穷性:算法是由若干条指令组成的有穷序列,总是在执行若干次后结束,不可能永不停止。

确定性:每条语句有确定的含义,无歧义。

可行性:算法在当前环境条件下可以通过有限次运算实现。

输入输出:有零个或多个输入,有一个或多个输出。

 

 

好算法的标准:正确性,易读性,健壮性,高效性,低储存性。

 

 

时间复杂度:算法运行需要的时间,一般将算法的执行次数作为时间复杂度的度量标准。

O(1)<O(log n)<O(n)<O(n log n)<O(n^2)<O(n^3)<O(2^n)<O(n !)<O(n^n)

 

最坏情况对衡量算法的好坏具有实际的意义。

 

空间复杂度:算法占用空间大小,一般将算法的辅助空间作为衡量空间复杂度的标准。

空间复杂度的本意是指算法在运行过程中占用了多少存储空间,包括:输入/输出数据、算法本身、额外需要的辅助空间

 

斐波那契数列(兔子数列)

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值