자료구조 (data structure)
전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다.
신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다.
프로그램을 설계할 때, 어떠한 자료구조를 선택할지는 가장 우선적으로 고려되어야 한다.
자료구조에는 여러 종류가 있으며, 이러한 각각의 자료구조는 각자의 연산 및 목적에 맞추어져 있다.
자바에서는 기본적인 자료구조를 제공하는데 이러한 자료구조를 제공하기 위한 환경을
Java Collection Framework라고 한다.
Java Collection Framework의 기본 상속구조는 다음과 같다.
그렇다면 자료구조를 결정할 때 고려해야할 사항들은 무엇이 있을까?
고려해야하는 사항들은 때에 따라 많겠지만 기본적으로 살펴보면
데이터들의 순서가 중요한가?
데이터들의 중복을 허용할 것인가?
데이터의 삽입, 삭제가 빈번하게 일어나는가?
데이터의 검색이 중요한 프로그램인가?
다른 자료구조들과 비교했을 때 어떠한 장단점을 가지는가?
....
등등 많은 사항을 고려하여 자료구조를 결정하는 것이 중요하다.
각자의 프로그램 목적을 고려하여 자료구조를 시기적절하게 사용하는 것이 중요하다고 볼 수 있다.
'Knowledge > Data Structure' 카테고리의 다른 글
이진 탐색 트리 (Binary Search Tree) (0) | 2017.11.07 |
---|---|
Stack(스택)과 Queue(큐) (0) | 2017.06.29 |
Set (HashSet, TreeSet) (0) | 2017.01.24 |
List (ArrayList, LinkedList, Vector) (0) | 2017.01.20 |
Map (HashMap, Hashtable, TreeMap) (0) | 2017.01.19 |