자료구조

FAST FOX·2023년 5월 21일
0

학습일지

목록 보기
35/39

자료구조

자료구조란??

자료구조란 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것입니다.
데이터는 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 것들이 데이터가 될 수는 있지만 데이터 그 자체만으로 어떤 정보를 가지기는 힘듭니다. 그렇기 때문에 데이터는 사용하려는 목적에 따라 형태를 구분하고, 분류하여 사용합니다.

대부분의 자료구조는 특정한 상황에 놓인 문제를 해결하는 데에 특화되어 있습니다. 따라서 많은 자료구조를 알아두면, 어떠한 상황이 닥쳤을 때 적합한 자료구조를 빠르고 정확하게 적용하여 문제를 해결할 수 있습니다.

Stack

Stack이란??

이 자료구조는 직역 그대로 데이터(data)를 순서대로 쌓는 자료구조입니다. 이해하기 쉽도록 설명한다면 원통을 자료구조 Stack, 구슬을 데이터(data)로 비유할 수 있습니다.
우리가 구슬을 차례대로 원통에 넣었을 때 가장 나중에 넣은 구슬이 원통의 가장 상단에 자리 잡고 있고, 그렇기 때문에 구슬을 빼는 경우에 가장 나중에 넣었던, 원통 상단에 위치한 구슬을 가장 먼저 뺄 수 있습니다.

Stack의 특징

  • LIFO(Last In First Out)
    : 먼저 들어간 데이터는 제일 나중에 나오는 후입선출의 구조로 되어 있습니다.

  • 하나의 입출력 방향을 가지고 있습니다.

  • 데이터는 하나씩 넣고 뺄 수 있습니다.

Queue

Queue란??

큐(Queue)는 줄을 서서 기다리다, 대기행렬이라는 뜻을 가지고 있습니다. 뜻 그대로 데이터의 출입을 위한 통로가 두 곳이 존재하고 데이터가 들어오는 순서 그대로 나가는 구조를 가지고 있습니다.
입력할 시에는 큐의 끝에서(tail), 데이터를 출력할 때는 큐의 맨 앞에서(head) 진행됩니다.
Queue에 데이터를 넣는 것을 'enqueue', 데이터를 꺼내는 것을 'dequeue'라고 합니다.

Queue의 특징

    1. FIFO (First In First Out)
    1. 두 개의 입출력 방향을 가지고 있습니다.
    1. 데이터는 하나씩 넣고 뺄 수 있습니다.
profile
준비하는 개발자

0개의 댓글