Data Structure(Stack & Queue)

이동환·2020년 9월 3일
1

TIL

목록 보기
21/74

이번 스프린트의 goal

  • 자료구조가 무엇인지 설명가능하다.

자료 구조을 알아보기 전에,

자료(Data)는 문자,소리,그림, 영상등과 같은 이 모든것들이 다 자료이다.
이런 자료들을 잘 분석되고, 활용되어야 우리는 비로소 정보라고 부를 수 있다.

그러나 컴퓨터는 0과1만을 읽을 수 있기 때문에 우리가 자연어로 정의해둔 자료들을 분석 할 수 없다. 그래서 우리는 개발 언어를 만들었고, 컴퓨터가 그것을 해석할 수 있도록 컴파일러라는것을 만들어냈다. 다시 말해 우리는 이제 자연어로 컴퓨터에게 명령을 내릴수 있게 되었다.

이러한 노력에도 컴퓨터는 데이터를 아직도 0과1로만 저장을 할 수 있다. 그래서 우리 사람들은 우리가 읽기 쉽도록 이 데이터들에 타입이라는걸 부여하게되었고, 1바이트(=8비트) 단위로 읽게 된다면 우리는 값을 얻을 수 있다. 그것은 우리가 약속한 아스키 코드(ASCll)이다.

즉, 데이터 타입이란, 0과 1로만 저장된 데이터를 사람들이 읽기 위해서 어떻게 해석할지 정의해 놓은것이라고 이야기 할 수 있다.

Data Structure

: data structure(자료구조)란, 여러가지 데이터 묶음을 어떻게 저장하고 사용할지를 정의해 놓은것. 대부분의 자료구조는 특정한 상황에 문제를 해결하는데 특화되어있다. 그래서 많은 자료구조를 알고 있다면 쉽게 문제를 풀 수 있다.
ex) array, stack, Queue,tree 자료구조

Stack

: Stack은 쌓여있는 접시 더미와 같이 작동합니다. 새로운 접시가 쌓일 때도 맨 위에서 쌓이고, 접시를 가져갈 때도 맨 위에서 가지고 가는 것과 같습니다. (LIFO: last in, first out)(from codestates).

Queue

:Queue는 놀이공원에서 서는 줄과 같이 작동합니다. 사람들이 맨 끝에 줄을 서고, 맨 앞에서부터 놀이기구에 탑승하는 것과 같습니다. (FIFO: first in, first out)(from codestates).

(참고할 웹사이트)

Priority Queue

: priority Queue는 priority에 순서에따라 dequeue를 할 수 있다. (참고 링크)

나중에 혼자 구현해 볼 예정

profile
UX를 개선하는것을 즐기고 새로운것을 배우는것을 좋아하는 개발자입니다.

0개의 댓글