###### tags: `APCS檢定營隊`
# 演算法
## Liner search
```python=
A = [1,2,3,4,5,6,7,8,9,10]
index=-1
for i in range(len(A)):
if A[i]==target:
print('find')
index=i
break
print(index)
```
## binary serach
```python=
a = [1,2,3,4,5,6,7,8,9]
a.sort()
left = 0
right = len(a)-1
target = 11
index = -1
while True:
mid = (right+left)//2
if right<left:
break
if target==a[mid]:
print('find')
index = mid
break
if target>a[mid]:
left = mid+1
if target<=a[mid]:
right = mid-1
print(index)
```
## select sort
```python=
def find_min_index(A):
guess = 0
for i in range(1,len(A)):
if A[guess]>A[i]:
#print('update')
guess=i
return guess
def slect_sort(A):
SORT = []
for i in range(len(A)):
#print(A)
index = find_min_index(A)
SORT.append(A[index])
A.pop(index)
return SORT
A = [21,34,561,1,6735,2314,345,1]
print(slect_sort(A))
A = [21,34,561,1,6735,2314,345,1]
print(sorted(A))
```