본문 바로가기

Knowledge/Data Structure

자료구조와 자료구조를 결정하는 방법

자료구조 (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