@ 왜 궁금한가
정말 많이 사용하는데 그럼 왜 사용하는지 그리고 어떤 의미이길래 이렇게 매번 중요하게 이야기를 하는지 알고 싶어서 확 정리 하고 싶어서
@ 공부
[ 내 의도에 맞게 쓸 줄 아는 능력이 중요하다. => 문제를 많이 풀어봐야 실력이 향상됨 ]
## 스택이란?
스택?
한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조
> 선형 자료 구조 - 스택과 큐가 대표적 ( 선 형태로 들어가기 때문에 )
> 스택은 자료구조 : 자료를 저장하는 구조
예)
올바른 괄호 찾기
스택에 넣는 괄호는 : 아직 짝을 찾지 못한 괄호
> 그럼 어떤 자료를 저장하는가?
> "상태"가 들어간다.
> 발자취를 기억하는 용도!! 이 말이 컴퓨터 공학에서 굉장히 중요하다.
> 컴퓨터가 콜스택( Call Stack ) 을 이용한다. 함수를 이용할때 그 전에 있던 것을 스택에 쌓아 둔다.
## 구현
## 큐 의미
큐?
컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식
스케줄의 의미
> 내가 집, 가게, 할머니 집, 뭐 해야 한다.
> 내 일에 대한 스케줄, 해야 할 일
예)
크롬, 카톡, A, B 여러 가지 프로그램있는데 전혀 상관없는 것들을 모두 실행 시켜야 하기 때문에 처음에 크롬 카톡 A B 조금씩 돌아가면서 실행을 시켜야 한다.
> 여러 프로그램을 조금씩 시킨다. 마치 동시에 실행되듯이
> 운영체제에서는 " 잡 큐 " 라고 한다.
## 구현
## 선형 자료구조가 제일 어렵다
"상태"의 의존 관계가 없을때 > 큐
"상태"의 의존 관계 있을때 > 스택 ( A와 B가 서로 관련이 없지만 모두 하긴 해야할 때 Scheduling 병렬화 )
> 이 놈을 왜 써야 하는지 파악하는게 어렵다.
> 스택, 큐
> 스택과 큐에는 많은 경우 "상태"를 저장한다. 해야하는 일들의 진행상황
> 스택는 " 상태"의 의존 상태가 있을때 ( 재귀 호출, 함수에 사용된다. )
> 큐는 "상태"의 의존 상태가 없을때 ( 스케쥴링, 병렬화에 사용된다. )
## 선형구조란?
여기서 선형 자료구조란?
자료구조(資料構造, 영어: data structure)는 전산학에서 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법이다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다.
'알고리즘' 카테고리의 다른 글
[ 알고리즘 ] 분할정복법 (0) | 2019.09.26 |
---|---|
[ 알고리즘 ] 문제풀이 방법 (0) | 2019.09.24 |
[ 알고리즘 ] 우선순위 큐 (2) - 힙 (0) | 2019.09.20 |
[ 알고리즘 ] 우선순위 큐 (1) - 배열 (0) | 2019.09.19 |
[ 알고리즘 ] 트리 (0) | 2019.09.05 |
댓글