什么是算法–刘宇波
1.算法定义
Algorithm(算法):解决问题的方法;一系列解决问题的可执行的计算机指令。
eg:问路:先从xx走到地铁站,做到xx站口,在向xx方向走xxm。
2. 算法特点
2.1.有限性:执行次数与时间的有限性
2.2.确定性:不会产生二义性(eg:成绩最高究竟是语文还是数学)
2.3.可行性
2.4.输入
2.5.输出
3.线性查找法
eg:在一沓试卷中找到属于自己的试卷
算法:第1张:不是;第2张:不是;第3张:不是;…。第i张:是,找到
以上即线性查找法。
eg:在data数组中查找16
24 | 18 | 12 | 16 |
---|---|---|---|
0 | 1 | 2 | 3 |
▲ |
从第0个位置开始遍历整个数组,找到目标元素
输入:数组和目标元素
输出:目标元素所在索引(找到第一个所在位置就停止);若不存在,返回-1
class LinearSearch:
# 从给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程
def linearsearch(self, arr, x, l):
for i in range(l):
if (arr[i] == x):
return i
return False
# 测试
def test(self):
arr = [1,2,5,6,4,2,5,7,9,4]
x = 4
l = len(arr)
n = self.linearsearch(arr, x, l)
if n:
print("元素的索引为:", n)
else:
print("找不到元素!")
LinearSearch().test()