经过在训练营的这一个星期的学习,我也对算法有了一定的了解。
算法学习记录:
算法有五大特性
—输入:有零个输入或者多个输
—输出:只有一个或者多个输出
—有穷型性:算法在执行有限个步骤时,会自动结束而不会陷入无限循环里面
—确定性:算法的每一步都有确定的含义而不会出现二义性
—可行性:算法的每一步都可以通过有限次数完成。
在进行算法的时候也有一定要求:正确性、可读性、健壮性、时间效率高而且空间使用率低、简单性。
对于算法的复杂度分为时间复杂度跟空间复杂度。
时间复杂度:时间复杂度实际上是一个函数,代表基本操作重复执行的次数,进而分析函数虽变量的变化来确定数量级。
空间复杂度:
是对一个算法在运行过程中临时占用存储空间的度量,一个算法在计算机存储器上所占用的存储空间包括存储算法本身所占用的空间,算数和输入输出所占用的存储空间以及临时占用存储空间三个部分,算法的输入输出数据所占用的存储空间是由待解决的问题来决定的,通过参数表由调用函数而来,它随本算法的不同而改变,存储算法本身所占用的存储空间有算法的书写长短成正比。算法在运行过程中占用的临时空间由不同的算法决定。
二分查找法:
二分法的使用有一个前提,那就是所查找的数组中的元素已经由小到大排序,所以在用这个方法之前首先要对这个数组进行排序。而这个前提一般需要用到冒泡排序来实现。