( Daliy / TIL 03.05) 자료구조 - Data Structure

Seung Ho Yoon·2021년 3월 7일
0

I studied this today

  • 자료구조의 정의
  • Stack
  • Queue

자료구조의 정의

여러 데이터들의 묶음을 어떻게 저장하고, 사용할것인지 정의하는것

사전적인 의미는 자료(Data)의 집합의 의미하며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것이다.

자료들은 잘 정리 되며 활용이 잘되어야 의미 있다고 생각해서 만든 개념이 자료구조이다.

따라서 대부분의 자료구조들은 특정한 상황에 특정한 문제들을 해야할때 자료구조를 활용해야 문제를 문제를 풀수있다.

Stack

세로로 된 통안에 자료를 쌓는구조라고 생각하면 된다.

스택구조를 비유로 드는것이 프링글스 과자이다
1. 프링글스을 제조할떄 통안에 프링글스과자를 밑에서 부터 차곡차곡 쌓아서 통안에 담는다음 뚜껑을 담는다
2. 그리고 제조된 프링글스 먹을떈 맨 나중에 쌓여진 과자부터 먹는다
이 방식을 LIFO(Last In First Out) 라고한다.

또 맨 밑에 있는과자를 먹을려면 위에있는 과자를 다먹어야 먹을 수 있다.
이 방식을 FILO(First In Last Out)라고 한다.

즉, 가장 먼저 들어간 데이터가 먼저 나올수 있고

출입구가 동일하고
중간에 데이터를 끼워 넣을 수 없다

Queue

톨게이트 처럼 뒤에서 차들이 오면 먼저온 차부터 빠져나가는 한방향적인 데이터 구조이다.

한 반향에서 입력이 이뤄지고 그 반대편에서 출력이 이루어진다.

자료가 입력된 순서대로 처리해야 할 필요가 있는 상황에서 사용된다.

한쪽 끝에서는 삽입만 이루어지며 다른쪽 끝에서는 삭제만 연산된다.

먼저 삽인된 Item이 먼저 삭제된다.

FIFO(First In First Out) 혹은 LILO(Last In Last Out) 방식

profile
Frontend Developer

0개의 댓글