자료구조 개요

const_yang·2021년 9월 28일
0

데이터는 모든 값을 의미한다. 데이터의 사용 목적에 따라 형태를 구분하고 분류해야 한다.

자료구조 (ex: Stack, Queue, Tree, Graph)

무수한 상황에서 데이터를 효율적으로 다룰 수 있는 방법

대표적인 자료구조로는 배열이 있다.

Stack

https://en.wikipedia.org/wiki/Stack_(abstract_data_type)

  • LIFO (last in, first out)
  • 접시구조: 나중에 쌓인 정보가 먼저 나간다. 웹사이트 뒤로 가기 / 앞으로 가기 기능이 예시이다.

Queue

https://en.wikipedia.org/wiki/Queue_(abstract_data_type)

  • FIFO (first in, first out)
  • 톨게이트: 먼저 들어간 정보가 먼저 나간다. 프린트(컴퓨터 임시 기억 장치)
  • "Buffer": 데이터를 주고 받는 장치 간의 속도와 시간 차이로 인해 생기는 개념

Graph

  • 여러 개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료 구조
  • 포털 사이트의 검색 엔진, SNS에서 사람들과의 관계, 내비게이션 (길찾기)
  • 무방향 / 단방향: 흔히 쌍방향을 무방향, 일방 통행을 단방향이라 한다
  • 진입차수 / 진출차수: 정점에 들어오는 간선의 수 / 정점에서 나가는 간선의 수
  • 자기루프: 정점에서 나간 간선이 곧바로 진입하는 경우
  • 사이클: 서울 → 대전 → 부산 → 서울

Tree

  • 루트(Root) 라는 하나의 꼭짓점 데이터를 시작으로 여러 개의 데이터를 간선(edge)으로 연결한 자료 구조
  • 노드: 모든 개별 데이터
  • 루트: 트리 구조의 시작
  • 부모 노드: 상하 관계의 두 노드 중 루트에 가까운 노드
  • 자식 노드: 상하 관계의 두 노드 중 루트에 먼 노드
  • 리프 노드: 트리 구조의 끝 노드(자식 구조가 없는 노드)

0개의 댓글