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的值并作为输出