算法 第一课

来源:互联网 发布:mac安全性与隐私 编辑:程序博客网 时间:2024/06/08 14:18

算法的重要性,意识还不是很强烈,因为一直搞Android,而且也是比较基础的,点击一个按钮,完成什么操作,发送什么请求,得到请求之后再怎么做,基本上一点用不到什么深奥的算法,悲催的是对于这些Android的api也是一知半解的,突然感觉大学过去的一年真是一事无成呀。

算法:对于问题求解步骤的一种描述,设计一个算法考虑到的就是对效率,可读性,健壮性。

首先是可读性,自己写的程序别说是几个月没有看,甚至是几天没有看,自己再去看都完全不知道这个变量和那一个变量表示的是什么,对于变量的命名规范还是很重要的,还有方法名。

健壮性:对可能出现的结果都做一提前做一个预算,当出现这种情况的时候应该去怎么解决,防止用户的不当操作导致程序的崩溃。

效率:算法效率评定标准有两个,一个是执行的时间是否够快,然后就是对空间的占用大不大。时间的取决因素是很多的,编译器编译成的机器码的质量,机器执行指令的速度,数据的大小,甚至是机器的执行效率。

时间复杂度:

T(n) = O(f(n));

n代表的是基本操作的执行次数

空间复杂度:

S(n) = O (f(n));

对于一个执行的程序,首先是需要寄存一些指令,变量,输入数据等,(我们的变量,数据的操作是需要放在寄存器之中,然后CPU才可以对其进行操作的),还有就是计算的时候所需要的辅助空间。


0 0
原创粉丝点击