파이썬(Python)/기타 2

파이썬 리스트

리스트 컴프리헨션 대괄호 안에 조건문과 반복문을 적용하여 리스트를 생성하는 방법으로, 리스트를 쉽게 초기화할 수 있다. # 리스트 컴프리헨션을 사용하지 않은 경우 lst = [] for i in range(1, 11): lst.append(i) print(lst) # 리스트 컴프리헨션을 사용하는 경우 lst = [i for i in range(1, 11)] print(lst) 실행 결과 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 위 예시와 같이 리스트 컴프리헨션을 사용하면 코드가 간단해지며 실행속도도 빨라진다. 리스트 컴프리헨션을 사용하여 리스트 쉽게 초기화하기 # 0부터 19까지의 수 중에서 홀수만 포함하는 리스트 even_lst ..

알고리즘 성능평가

복잡도 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 빅오표기법(Big-O Notation) 수학적 정의는 모든 $ 0 < n_{0} \leq n $에 대하여 $ 0 \leq f(n) \leq k \bullet g(n) $인 양의 상수 $ k $와 $ n_{0} $가 존재하면 $ f(n) = O(g(n)) $이다. 쉽게 말하면 어떤 프로그램을 실행했을 때 연산횟수가 $ 2n^2 + 5n + 1000 $이라고 하면 이 프로그램의 시간복잡도를 계수를 제외한 최고차항만 남겨서 $ O(n^2) $이라고 하는 것이다. 이렇게 표기하는 이유는 $ n $의 값이 무한히 커지면 최고차항을 제외한 항들은 최고차항에 비해 값이..

1