본문 바로가기
알고리즘

[ 알고리즘 ] 스택, 큐 의미

by Chars4785 2019. 9. 23.

@ 왜 궁금한가

정말 많이 사용하는데 그럼 왜 사용하는지 그리고 어떤 의미이길래 이렇게 매번 중요하게 이야기를 하는지 알고 싶어서 확 정리 하고 싶어서


@ 공부

[ 내 의도에 맞게 쓸 줄 아는 능력이 중요하다. => 문제를 많이 풀어봐야 실력이 향상됨 ]

## 스택이란?

스택? 

한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조

> 선형 자료 구조 - 스택과 큐가 대표적 ( 선 형태로 들어가기 때문에 )

> 스택은 자료구조 : 자료를 저장하는 구조

 

예)

올바른 괄호 찾기

스택에 넣는 괄호는 : 아직 짝을 찾지 못한 괄호

> 그럼 어떤 자료를 저장하는가?

> "상태"가 들어간다. 

> 발자취를 기억하는 용도!! 이 말이 컴퓨터 공학에서 굉장히 중요하다.

> 컴퓨터가 콜스택( Call Stack ) 을 이용한다. 함수를 이용할때 그 전에 있던 것을 스택에 쌓아 둔다.

 

## 구현

##  큐 의미

큐?

컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식

스케줄의 의미 

> 내가 집, 가게, 할머니 집, 뭐 해야 한다. 

> 내 일에 대한 스케줄, 해야 할 일 

예)

크롬, 카톡, A, B  여러 가지 프로그램있는데 전혀 상관없는 것들을 모두 실행 시켜야 하기 때문에 처음에 크롬 카톡 A B  조금씩 돌아가면서 실행을 시켜야 한다.

> 여러 프로그램을 조금씩 시킨다. 마치 동시에 실행되듯이

> 운영체제에서는 " 잡 큐 " 라고 한다.

 

## 구현

## 선형 자료구조가 제일 어렵다

"상태"의 의존 관계가 없을때 > 큐

"상태"의 의존 관계 있을때 > 스택 ( A와 B가 서로 관련이 없지만 모두 하긴 해야할 때 Scheduling 병렬화 )

 

> 이 놈을 왜 써야 하는지 파악하는게 어렵다.

> 스택, 큐 

> 스택과 큐에는 많은 경우 "상태"를 저장한다. 해야하는 일들의 진행상황

> 스택는 " 상태"의  의존 상태가 있을때 ( 재귀 호출, 함수에 사용된다.  ) 

> 큐는 "상태"의 의존 상태가 없을때 ( 스케쥴링, 병렬화에 사용된다. ) 

 

## 선형구조란?

여기서 선형 자료구조란?

자료구조(資料構造, 영어: data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다.

 

댓글