CS/자료구조

자료구조 간단정리

infitry 2022. 7. 27. 22:12
반응형

List    

순서가 있고 중복을 허용합니다.

인덱스로 원소에 접근이 가능합니다.

크기가 가변적 입니다.

      

ArrayList

  • 단반향 포인터 구조로 데이터 순차적 접근에 강점을 가진다.
  • 배열을 기반으로 데이터를 저장한다.
  • 데이터 삽입, 삭제가 느리다.
  • 데이터 검색이 빠르다.

LinkedList

  • 양방향 포인터 구조로 데이터 삽입, 삭제가 빠르다.
  • ArrayList보다 검색이 느리다.      

Map

Key와 Value의 한쌍으로 이루어지는 데이터의 집합.

Key에 대한 중복이 없으며 순서를 보장하지 않는다.

뛰어난 검색 속도를 가진다.

인덱스가 따로 존재하지 않기 때문에 iterator를 사용한다.

 

HashMap

  • Key에 대한 중복이 없으며 순서를 보장하지 않는다.
  • Key와 Value 값으로 NULL을 허용한다.
  • 동기화가 보장되지 않는다.
  • 검색에 가장 뛰어난 성능을 가진다.      

HashTable

  • 동기화가 보장되어 병렬 프로그래밍이 가능하고 HashMap 보다 처리속도가 느리다.
  • Key와 Value 값으로 NULL을 허용하지 않는다.

LinkedHashMap

  • HashMap과 비슷하나 입력된 순서를 보장한다.

TreeMap

  • 이진 탐색 트리(Red-Black Tree)를 기반으로 키와 값을 저장한다.
  • Key 값을 기준으로 오름차순 정렬되고 빠른 검색이 가능하다.
  • 저장 시 정렬을 하기 때문에 시간이 다소 오래 걸린다.

Set

데이터의 집합이며 순서가 없고 중복된 데이터를 허용하지 않습니다.

중복되지 않은 데이터를 구할 때 유용합니다.

빠른 검색 속도를 가집니다.

인덱스가 따로 존재하지 않기 때문에 iterator를 사용합니다.

 

HashSet

  • 인스턴스의 해시값을 기준으로 저장하기 때문에 순서를 보장하지 않는다.
  • NULL 값을 허용한다.
  • TreeSet보다 삽입, 삭제가 빠르다.      

LinkedHashSet

  • 입력된 순서를 보장한다.

TreeSet

  • 이진 탐색 트리(Red-Black Tree)를 기반으로 한다.
  • 데이터들이 오름차순으로 정렬된다.
  • 데이터 삽입, 삭제에는 시간이 걸리지만 검색, 정렬이 빠르다.

Queue

Queue의 사전적 의미는 무엇을 기다리는 사람, 차량 등의 줄 혹은 줄을 서서 기다리는 것을 의미하는데

이처럼 줄을 지어 순서대로 처리되는 것이 큐라는 자료구조 큐는 데이터를 일시적으로 쌓아두기 위한 자료구조로

스택과는 다르게 FIFO(First In First Out)의 형태이다.

      

PriorityQueue

  • 우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다. 
  • 우선순위 큐는 일반적으로 힙(Heap)을 이용하여 구현한다.
반응형