2020.06.11(목) Sprint 2. Data Structure

Park, Jinyong·2020년 6월 11일
0

Today I Learned

자료구조에 대해서 공부했다.

  • 자료(Data): 문자, 소리, 그림 등과 같은 형태로 된 의미 단위
  • 정보: 자료를 의미있게 정리한 것
  • 데이터 타입: 하나의 데이터를 어떻게 처리할지 정의한 것
  • 자료구조: 여러 데이터 묶음을 어떻게 처리할지 정의한 것

Stack과 Queue에 관해 공부했다.

  • Stack

    • Last In, First Out (LIFO)
    • 가져오기: O(n), 추가하기: O(1), 삭제하기: O(1)
    • property: storage, top
    • method: size(), push(element), pop()
    • Stack은 용량을 가지고 있어서 가득 차면, push를 할 수 없다.
  • Queue

    • First In, First Out (FIFO)
    • 가져오기: O(n), 추가하기: O(1), 삭제하기: O(1)
    • property: front, rear
    • method: size(), enqueue(element), dequeue()
  • 우선 순위 Queue는 값과 함께 priority를 가지고 있어서 priority가 낮은 순으로 dequeue가 실행된다.


오늘부터 자료구조 스프린트에 들어간다. 먼저, 자료구조에서 가장 기본적인 스택과 큐를 구현해보았다. JavaScript라는 언어 특성 상 storage의 용량이 동적으로 변하므로 다른 언어를 사용하여 구현했을 때와 차이가 있다. 스택과 큐의 구현 방식에 차이가 있을 수 있으므로, 구현도 중요하지만 일단 기본적인 개념 이해부터 우선시되었다. 앞으로도 새로운 자료구조를 배우고 구현할텐데 구현에 앞서 개념을 먼저 정리하고 진행해야겠다.

0개의 댓글