1. 자료구조와 알고리즘
- 자료구조란?
- 프로그램의 수행은 자료(Data)와 그 자료를 활용하는 명령어들로 이루어짐
- 자료구조는 이러한 자료들이 프로그램의 수행 시 효율적으로 수행될 수 있도록 메모리에 저장하는 방식
- 알고리즘이란?
- 컴퓨터의 명령어들의 집합
- 문제의 해결 절차를 체계적으로 기술한 것
- 알고리즘의 필수 요소
- 입력(input): 외부에서 제공되는 자료가 0개 이상 있음
- 출력(output): 적어도 1개 이상의 결과를 만들어야 함
- 명확성(definiteness): 각 명령어는 매번 모호함이 없고 명백해야 함
- 유한성(finiteness): 한정된 수의 단계 뒤에는 반드시 종료되어야 함
- 유효성(effectiveness): 모든 명령은 실행 가능한 연산이어야 함
- 효율적인 알고리즘의 수행을 위해서는 그에 맞는 자료구조가 필수
- 알고리즘 분석
- 시간 복잡도 (Time complexity)
- 알고리즘이 수행되는 시간
- 실행되는 명령문의 연산 빈도수
- 점근적 표기법 (Asymptotic Notations)
- 시간 복잡도에 영향을 주는 데이터의 개수(n)에 대한 표시
- 계수는 생략한다.
- O(3n + 2) = O(n)
- 시간 복잡도 (Time complexity)
'알고리즘' 카테고리의 다른 글
6. 큐(Queue) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.23 |
---|---|
5. 스택 구현 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.23 |
4. 연결 리스트 - 패스트캠퍼스 백엔드 부트캠프 3기 (2) | 2025.01.22 |
3. n배열 리스트 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.22 |
2. 기본적인 자료구조 리스트 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.01.21 |