1.1 Sequential search
Complexity function
Code
def sSearch(self, S, x): # seq search, T(n) = n
location = 1
while location <= len(S) and S[location] != x:
location += 1
if location > len(S):
location = -1
return location
![](https://blog.kakaocdn.net/dn/bsQxzs/btr3LHcHkDo/DClTpaCvtKAsC5kt2QKqL1/img.png)
1.2 nth Fibonacci term in iterative
Complexity function
Code
def fibonacciItr(n):
arr = [0,1]
for i in range(2,n+1):
arr.append(arr[i-1] + arr[i-2])
print(arr)
return arr[len(arr)-1]
![](https://blog.kakaocdn.net/dn/B7O3S/btr3S0CwNNK/myKe0fLCvbrNaRHC1IBKe1/img.png)
1.3 Tower of Hanoi
Complexity function
Code
def hanoi(disks, source, aux, target ):
# if len(disks) == 1:
if disks > 0:
hanoi(disks-1, source, target, aux)
print("move disk ", disks, "from ", source, " ??", target )
hanoi(disks - 1, aux, source, target)
![](https://blog.kakaocdn.net/dn/oRzpM/btr3J2ha43A/ZCf79iNrTxYxwa0pxjmtS1/img.png)
2.1 Add array members
def sumArray(S):
sum =0
for i in range(len(S)):
sum += S[i]
return sum
![](https://blog.kakaocdn.net/dn/Njvus/btr3J2BtqJF/pv3B8kzT5blugA30LmWsRK/img.png)
2.2 Matrix multiplication
import numpy as np
def matrixMultiplication(n, A, B):
C = np.zeros((n,n))
for i in range(n):
for j in range(n):
C[i,j] = 0
for k in range(n):
C[i,j] = C[i,j] + A[i,k] * B[k,j]
return C
![](https://blog.kakaocdn.net/dn/DWCRs/btr3TJ8luXN/Tke1DykOGMN51K64rEI8f0/img.png)
2.3 nth Fibonacci term in recursive
def fibonacciRec(n):
if n<= 1:
return n
else:
return fibonacciRec(n-1)+fibonacciRec(n-2)
![](https://blog.kakaocdn.net/dn/dqCMsF/btr3Sw2IdOF/c8PgtpYtukLBDd0ScZHPrK/img.png)
2.4 Binary search in recursive
def bSearchRec(S,low, high, x):
if low> high:
return -1
mid = int(low + (high-low)/2)
if x == S[mid]:
return mid
elif x< S[mid]:
return bSearchRec(S, low, mid-1, x)
else:
return bSearchRec(S, mid+1, high, x)
![](https://blog.kakaocdn.net/dn/cpcAhw/btr3U4djvUe/XVmgKc4nslhZxFSvBkbFbK/img.png)
2.5 Exchange sort
def exchangeSort(S):
for i in range(len(S)-1):
for j in range(i,len(S)):
if S[j] < S[i]:
tmp = S[i]
S[i] = S[j]
S[j] = tmp
return S
![](https://blog.kakaocdn.net/dn/cDTCFS/btr3J2aofRG/Bl6nm1rCpQcdyVkXAeUiFk/img.png)
2.6 A recursive algorithm for computing the nth power of 2
def power2Rec(n):
if n == 0:
return 1
else:
return 2*power2Rec(n-1)
![](https://blog.kakaocdn.net/dn/o9Mzi/btr3SuKEJFe/MJc6czZAQ2gVinJpujzlI0/img.png)
Uploaded by N2T
'Study > 알고리즘및실습' 카테고리의 다른 글
Minecraft edu - Sorting simulator 만들기 (0) | 2023.11.28 |
---|---|
카테고리 개요 (0) | 2023.03.14 |