개요
자료구조란?
자료, 즉 데이터를 효율적으로 저장하고 관리하기 위한 구조를 말합니다.
자료구조의 분류
선형구조
- 리스트
- 스택
- 큐
비선형구조
- 트리
- 그래프
파일구조
- 순차파일
- 색인파일
- 직접파일
단순구조
- 정수
- 실수
- 문자
- 문자열
알고리즘의 성능분석 방법
시간 복잡도, 공간 복잡도
시간 복잡도
알고리즘의 수행시간에 대한 분석결과를 말합니다.
공간 복잡도
메모리 사용량에 대한 분석결과를 말합니다.
시간 복잡도 분석의 핵심 요소
알고리즘의 핵심이 되는 연산을 파악하고, 그 연산을 중심으로 시간 복잡도를 분석합니다.
빅-오(Big-O) 표기법
최고차항의 차수로 시간 복잡도를 표기하는 방법을 말합니다.
대표적인 Big-O
- 상수형 빅-오
- 데이터 수에 상관없이 연산횟수가 고정인 유형의 알고리즘
- 로그형 빅-오
- 데이터 수의 증가율에 비해 연산횟수의 증가율이 훨씬 낮은 유형의 알고리즘
- 이진 탐색
- 선형 빅-오
- 데이터의 수와 연산횟수가 비례하는 알고리즘
- 선형로그 빅-오
- 데이터의 수가 두 배로 늘 때, 연산횟수는 두 배를 조금 넘게 증가하는 알고리즘
- 데이터 수의 제곱에 해당하는 연산횟수를 요구하는 알고리즘
- 이중 for 문
- 데이터 수의 세제곱에 해당하는 연산횟수를 요구하는 알고리즘
- 삼중 for 문
- 지수형 빅-오
- 매우 매우 매우 매우 매우 안 좋은 알고리즘
Uploaded by Notion2Tistory v1.1.0