[230228] Stack, Queue, Array, Linked List

뜨개발자·2023년 2월 28일
0

TIL

목록 보기
53/75

Stack과 Queue

Stack

먼저 들어간 데이터가 더 나중에 나오는 형태의 자료구조
긴 원통을 세워놓고 위에서 넣고, 위에서 빼내는 모양을 생각하면 쉽다.
브라우저에서의 뒤로가기나 포토샵 등의 실행취소가 stack 구조이다.

Queue

데이터를 삽입한 순서대로 사용할 수 있는 형태의 자료구조
긴 원통을 눕혀놓고 뒤에서 넣고, 앞에서 빼내는 모양을 생각하면 된다.
넣는 곳과 빼는 곳이 정해져 있어 순서가 바뀌지 않는다.
특정 사이트의 접속을 위한 대기열 등에 queue를 사용할 수 있을 것이다.

Array와 Linked List

Array

정해진 길이의 저장 공간에 데이터를 연속으로 저장한 형태의 자료구조
연속되어 있기 때문에 인덱스를 통한 접근이 쉽다는 장점이 있다.
다만 중간에 순서를 변경하거나 앞쪽에 데이터를 삽입하는 경우에는 다른 데이터들도 변경되어야 하기 때문에 비효율적이다.

Linked List

데이터와 함께 현 데이터의 앞뒤 순서의 데이터가 저장된 위치를 함께 저장하는, 연결된 형태의 자료구조
내 앞, 혹은 내 뒤를 나타내는 위치만 변경하면 되기 때문에 중간에 삽입이나 삭제가 일어나도 빠르게 적용할 수 있다.
하지만 데이터가 저장된 위치는 바로 앞 데이터까지의 탐색이 이루어져야 하기 때문에 특정 순서의 데이터에 접근하기는 느릴 수 있다.

profile
뜨개질하는 개발자

0개의 댓글