본문 바로가기

IT개념/자료구조

(2)
[자료구조] 1-2. [순환 알고리즘과 시간복잡도] 알고리즘의 성능 분석 기법 실행시간을 측정하는 방법 두 개의 알고리즘 실제 실행 시간을 측정하는 것 실제로 구현하는 것이 필요 동일한 하드웨어를 사용해야 함 알고리즘의 복잡도를 분석하는 방법(이론적) 직접 구현하지 않고 수행시간을 분석하는 것 알고리즘이 수행하는 연산 횟수를 측정하여 비교 일반적으로 연산의 횟수는 n의 함수 시간 복잡도 분석: 수행시간 분석 공간 복잡도 분석: 수행시 필요한 메모리 공간 분석 파이썬의 실행시간 측정 코드 예 import time myBag = [] start = time.time insert(myBag, '축구공') ... end = time.time() print("실행시간 =", end-start) 복잡도 분석 시간 복잡도 산술, 대입, 비교, 이동의 기..
[자료구조] 1-1. 추상자료형 및 알고리즘의 성능 분석 ## 자료구조 자료구조는 컴퓨터에 저장되는 데이터가 사용자가 어떻게 편하고 효율적으로 사용할 수 있을지 정리하는 것이다. 모든 자료마다 적합한 구조가 있다. 책장에 정리된 책의 모습이 있다면 그 책은 장르의 코드 별, 제목의 순서 별로 정리가 되어 있을 것이다. 그 책 속 또한 목차를 통해 정리가 되어 있다. 혹은 지하철 노선도가 사람들이 직관적으로 알아보기 편리한 형태인 선형으로 정리되는 것 등 이러한 것들을 통틀어 자료구조라고 일컫는다. 자료의 컴퓨터 저장 모든 데이터는 0과 1로 저장된다. 컴퓨터에서 단순 자료는 프로그래밍 언어의 데이터 형식에 해당하는 정수, 실수, 문자, 문자열 등으로 나눈다 정수: 0, 100, -10 등 (소수점이 없는 음수, 0, 양수, Int또는 Integer) 실수: 0..