본문 바로가기

algorithm2

Python list 연산에 따른 시간 복잡도 python list 연산에 따른 시간 복잡도 시간 복잡도가 O(1)인 연산 len(a) len(a)는 리스트 전체 요소의 개수를 리턴합니다. 사용 예시는 다음과 같습니다. a = [1,2,3,4,5] print(len(a)) ## 출력값 # 5 a[i] a[i]는 리스트중에서 해당 인덱스에 해당하는 값을 가져옵니다. a = [1,2,3,4,5] print(a[3]) ## 출력 값 # 4 a.append(x) a.append(x)는 해당 리스트 맨뒤에 x를 추가해 줍니다. a = [1,2,3] print(a) a.append(4) print(a) ## 출력 값 # [1,2,3] # [1,2,3,4] a.pop() a.pop()는 해당 리스트 맨 뒤에 있는 값을 pop 해줍니다. (스택의 연산 pop) a.. 2020. 8. 9.
분할정복 분할 정복 분할 정복이란 커다란 문제를 작은 부분 부분으로 나누어서 해결하는 방법입니다. 분할 정복의 전략은 재귀적 알고리즘을 사용하여 해결할 수 있습니다. 먼저 분할 정복을 하기 위해서는 두 가지 단계를 거칩니다. 기본 단계를 해결합니다. 이 부분은 가능한 한 간단한 문제여야 합니다. 문제가 기본 단계가 될 때까지 나누거나 작게 만들어야 합니다. 이것을 프로그래밍으로 표현하자면 다음과 같이 표현할 수 있습니다. function F(x): if F(x)가 간단 then: return F(x)를 계산한 값 else: x 를 x1, x2로 분할 F(x1)과 F(x2)를 호출 return F(x1), F(x2)로 F(x)를 구한 값 분할 정복 예시 코드 분할 정복 간단코드 (더하기) 분할 정복을 쉽게 이해하기.. 2020. 8. 6.