#6 자료구조

김동혁·2022년 8월 15일
0

DATA STRUCTURE

● 정의

데이터를 조직적으로 관리하여 구조적으로 표현하는 방식과 이를 구현하는데 필요한 기능을 가능하게 하는 기술이다.
데이터 값의 집합, 데이터의 관계, 데이터에 적용시킬 수 있는 함수나 명령
※ 다시말해, 데이터를 효율적으로 다룰 수 있는 방법!!!

● 특징

  1. 효율성
  • 상황에 맞는 자료구조를 사용함으로 데이터의 효율적 처리가 가능하다.
  1. 추상화
  • 어떻게 구현했는지보다 어떻게 사용해야 하는지를 알고 있어야 한다.
  1. 재사용성

● 종류

  1. 배열 (Array)
  2. 연속 리스트 (contiguous List)
  3. 연결 리스트 (Linked List)
  4. 스택 (Stack)
  5. 큐 (Queue)
  6. 그래프 (Graph)
  7. 트리 (Tree)
    선형구조 / 비선형구조로 나뉜다. (비선형 : 그래프, 트리)

● 장/단점
1. 배열

  • 장점 : 바로만들어 활용하기가 쉽고, 원하는 데이터를 효율적으로 가져옴
  • 단점 : 생성될때 셀의 개수가 고정되므로 데이터를 추가/삭제하는 과정이 비효율적이다.
    메모리 낭비가 심하다.
  1. 연속리스트
  • 장점 : 연속적으로 데이터가 저장되어 있어 검색에는 용이하다.
  • 단점 : 데이터의 삽입이나 삭제는 용이하지 않다.
  1. 연결 리스트 (데이터 항목 순서에따라 노드 포인터를 이용)
  • 장점 : 데이터를 추가하고 삭제하는 것이 용이하다. 구조의 재구성이 필요없어, 메모리를 효율적으로 사용할 수 있다.
  • 단점 : 연결의 끊어지면 다음 노드를 찾기 어렵고 속도가 느리다.
  1. 스택 (순서가 유지되는 선형 데이터구조)
    Last In First Out 메커니즘을 가지고있음
  • 장점 : 데이터를 받는 순서대로 정렬되고 메모리의 크기가 동적이다.
  • 단점 : 한번에 하나의 데이터만 처리할 수 있다.

  1. First in First Out 메커니즘
  • 장점 : 동적 메모리 크기와 빠른 런타임을 가지고 있다.
  • 단점 : 가장 오래된 요소만을 가져오고 한번에 하나의 데이터만 처리할 수 있다.
  1. 트리
    노드로 구성된 계층적인 자료구조

0개의 댓글