-
2021-07-01알고리즘관련/공부하기 2021. 7. 1. 22:01
알고리즘 공부를 하다보니 예전 자료구조 내용도 다까먹었고 기본적인 부분이 부족한 것 같아 인강을 보기 시작했어요
백준 인강 들으려고 했었는데 무료강의가 찾아보니 있더라구요
[무료] 파이썬으로 배우는 알고리즘 기초 - 인프런 | 강의
Pseudo 코드로 설명하는 알고리즘 강의에 지치셨나요? 실행 가능한 Python 소스 코드로 알고리즘의 기초를 다져봅시다!, 알고리즘 학습, 파이썬 코딩으로 장벽을 낮춰보세요! 파이썬으로 배우는
www.inflearn.com
무료라고 하니 한번 들어보는 중입니당
첫날이나 가볍게...
알고리즘이란?
알고리즘의 효율성까지 수강했습니당
<오늘 필기내용>
"""
순차 탐색
"""
def seqsearch (n, S, x):
location = 1
while (location <= n and S[location] != x):
location += 1
if (location > n):
location = 0 # 찾지 못하면 0을 return
return location
"""
합계
"""
def sum(n,S):
res = 0
for i in S[:n+1]:
print(i)
res += i
return res
"""
행렬곱
"""
# S = [-1, 10, 7, 11, 5, 13, 8]
# print(sum(6,S))
def matrixmult (n, A, B):
n = len(A)
C = [[0] * n for _ in range(n)]
for i in range(n):
for j in range(n):
for k in range(k):
C[i][j] = A[i][k] * B[k][j]
return C
"""
정렬되지 않은 리스트에서 키 찾기 : 순차 탐색
정렬된 리스트에서 키 찾기: 이분 검색(중간값보다 작으면 왼쪽 재귀 호출, 크면 오른쪽 재귀 호출)
"""
def binsearch(n, S, x):
low = 1
high = n
location = 0
while (low <= high and location == 0):
mid = (low + high) // 2
if (x == S[mid]):
location = mid
elif (x < S[mid]):
high = mid - 1 # 왼쪽만 보겠다
else:
low = mid + 1 # 오른쪽만 보겠다
return location
'''
DP: fibonacci not using list
변수를 배열에 저장하지 않고 변수에만 저장한다
'''
def fib3(n):
a=b=1
for i in range(2,n+1):
a,b = b,a+b
return b
# n=1000
# print(fib3(n)%10007)
vscode 그대로 복붙하니까 색도 같이 복사가 되서 좋네요~
방학동안 빡세게 알고리즘 뿌셔볼게용
'알고리즘관련 > 공부하기' 카테고리의 다른 글
20210811 DFS (0) 2021.08.11 2021080 (0) 2021.08.09 Python 2차원 리스트(배열) 초기화 (0) 2021.08.01 리스트 컴프리핸션(list comprehension)을 이용한 리스트 만들기 (0) 2021.07.27 2021-07-02 알고리즘 분석과 차수 (0) 2021.07.02