0001 算法基础

什么是算法?

完成一个任务所需的一系列步骤

计算机算法解决问题 两个必要条件
1.1 正确性

加密算法: 使用高效算法得到正确性 但是会有错误的几率 可以加以控制 使得错误率降到足够低

近似算法: 量化速度来寻找最优解 -> 在合理时间求出”近似最优“解

1.2 资源利用

时间 内存占用率 网络通信 随机比特(随机数算法产生的随机数的资源) 磁盘操作(处理存储在磁盘上的数据的算法)


线性查找x的位置

程序 LINEAR SEARCH(A, n, x)
输入:
A 一个数组
n 要查找的数组A中的元素个数
x 要查找的值

输出:
要么满足A[i] = x 的索引i 要么是一个特殊值NOT-FOUND

1将 answer 赋值 为 NOT-FOUND 
2对每个索引值i 按顺序从1取到n
 A. 如果A[i] = x 那么将answer赋值为i
3返回answer的值并作为输出