느리더라도 꾸준히

회고록(18) - 스택 & 큐 본문

(CodeStates)Daily memoir

회고록(18) - 스택 & 큐

테디규 2022. 11. 21. 22:56

1. 데일리 일기

이번 주말 오랜만에 동창들을 만나 술을 먹었다. 너무 즐겁게 마시다보니 속앓이를 좀 오래했다. 요즘 사람만날일이 없어서 반가운 맘에 달린거 같다. 맥주 한두잔 정도로 끝내도록 노력..해보자.

토요일을 숙취로 고생했지만, 일요일에는 정리하고 싶었던 OOP를 정리해서 기분이 좋았다. 또 오늘 배운 자료구조들은 그렇게 어렵지 않았아서 조금 편하게 월요일을 시작하는 것 같다.

2. 오늘 배운 내용

(브레인 스토밍 후, 핵심 내용들을 요약해서 작성하자. 절대 복붙 X, 나만의 단어로 표현하기.)

자료구조

정의

자료의 구조, 즉 데이터의 묶음으로, 사용하는 방법들을 정의해놓은 구조이다.

목적

데이터들은 어떤 구조로 정리해 두느냐에 따라 활용방법이 달라질수 있다.

문제 상황을 해결할때, 특정한 상황들은 자료구조를 이용하여 더 손쉽게 해결 할수 있다.

스택

정의

데이터를 쌓는(Stack) 해 놓은 구조를 말한다. 쉽게 말하자면 프링글스 통을 생각하자.

특징

  • 후입 선출(LIFO) 의 특징을 가진다.
  • 입출력 하는 방식이 한개이다.
  • 데이터를 하나씩만 넣고 뺄수 있다.
  • 브라우저의 뒤로가기, 앞으로가기 기능들은 페이지 정보를 여러 스택 자료구조들을 활용하여 만든 기능이다.

데이터를 한줄로 세워놓은(Queue) 구조이다. 한줄서기, 선착순 대기열을 생각해보자.

특징

  • 선입 선출(FIFO) 의 특징을 지닌다.(편의점 음료수 진열)
  • 입출력 하는 방식이 두개이다.(입력과 출력)
  • 데이터를 하나씩만 넣고 뺄 수 있다.
  • 큐는 컴퓨터의 여러 장치들의 가운데서 버퍼역할을 수행한다. 장치들이 처리속도들이 다르기 때문에, CPU같이 빠른 장치는 큐 구조의 버퍼에 할일들을 처리해놓고 저장해 둘수 있다.(ex) CPU 와 프린터)

3. 모르겠는 내용

Comments