
1. 자료구조란 무엇인가?
1-1. 자료를 효율적으로 관리하기 위한 구조
- 관리란 자료를
저장, 삭제, 중간 삽입, 탐색 하는 행위들을 의미합니다.
1-2. 목적에 맞게 자료구조를 사용한다면?
실행시간 단축 혹은 메모리 용량 절감 효과가 있습니다.
실행시간과 메모리 용량 절감은 Trade Off의 관계가 있습니다.
- 실행시간이 단축되면 메모리 용량이 올라가고, 메모리 용량이 단축되면 실행시간이 길어진다는 의미입니다.
1-3. 알고리즘과 밀접한 관계가 있다.
- PL에서 기본적으로 제공하는 자료구조 기능을 통해 알고리즘 문제를 풀지만 어떻게 구현할 수 있는지 아는 것이 무척이나 중요합니다.
2. 자료구조의 분류
자료구조는 선형과 비선형 자료구조로 나눌 수 있습니다.
-
선형 자료구조
- 배열
- 연결리스트
- 스택, 큐, 데크
- 해시 테이블
-
비선형 자료구조
3. 자료구조의 구현
대부분의 자료구조는 자바에서 클래스로 제공합니다.
- 그러나 이해를 한 후 알맞은 함수를 사용하는 것이 중요합니다.
자료 형태, 사이즈, 각 기능에 대해 클래스 도움 없이 직접 구현 해볼 수 있어야 합니다.
다음 글부터 자료구조 하나하나씩 소개하고 구현해보겠습니다.