[C/F TIL] 61일차 - 자료구조, 알고리즘

mu-eng·2023년 7월 7일
2

TIL (in boost camp)

목록 보기
52/53
post-thumbnail

Code States
Front-end boost camp
Today
I
Learned

🍑 섹션4의 시작!!


🍑 자료구조

  • 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것
  • 데이터란? 문자, 숫자, 소리, 그림, 영상 등 실생활을 구성하고 있는 모든 값
  • 자주 등장하는 네 가지 자료구조 : Stack, Queue, Tree, Graph
  • 자료구조의 특징 :
    -- 특정한 상황에 놓인 문제를 해결하는 데에 특화
    -- 많은 자료구조를 알아두면, 어떠한 상황이 닥쳤을 때 적합한 자료구조를 빠르고 정확하게 적용하여 문제 해결 가능

🍑 Stack

  • 데이터를 순서대로 쌓는 자료구조
  • 입력과 출력이 하나의 방향, 즉 스택의 최상단에서만 이루어짐 -> 제한적 접근
  • 이를 LIFO(Last In First Out) 혹은 FILO(First In Last Out)라고 부름
  • 데이터를 넣는 것 : PUSH
  • 데이터를 꺼내는 것 : POP

✔️ 특징

  • 스택 구조 내에서 특정 데이터 조회 불가
    -- 스택의 최상단에서만 데이터를 저장하고 꺼낼 수 있음
    -- 데이터를 저장할 때나 검색할 때 항상 스택의 최상단에서만 행위가 이루어지며 이에 따라 데이터를 저장하고 검색하는 프로세스가 매우 빠름
  • 하나의 입출력 방향을 가짐
    -- 데이터를 넣을 때도 스택의 가장 최상단으로 넣고, 뺄 때 또한 스택의 가장 최상단으로 데이터를 뺄 수 있음
  • 데이터는 하나씩 넣고 뺄 수 있음
    -- 스택에 한 개씩 여러번 데이터를 넣어 스택 내부에 데이터가 여러개 쌓여 있다고 하더라도, 데이터를 뺄 때는 스택의 가장 최상단에서 한 번에 한 개의 데이터만을 뺄 수 있음

  • 실사용 예제 : 브라우저의 뒤로 가기, 앞으로 가기 등

🍑 Queue

  • 대기행렬이라는 뜻... ex) 톨게이트에 차가 줄 서 있을 때, 가장 먼저 진입한 자동차가 가장 먼저, 가장 나중에 진입한 자동차는 먼저 도착한 자동차가 모두 빠져나가기 전까지 톨게이트를 빠져나가지 못함
  • 스택과 반대
  • 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out), LILO(Last In Last Out) 특징
  • Queue에 데이터를 넣는 것 : enqueue
  • 데이터를 꺼내는 것 : dequeue
  • 데이터가 입력된 순서대로 처리할 때 주로 사용
  • 예시) 컴퓨터와 연결된 프린트에서 여러 문서를 순서대로 인쇄
  • 버퍼(buffer) : 각 장치 사이에 존재하는 속도의 차이나 시간차이를 극복하기 위해 임시 기억 장치의 자료구조로 queue를 사용
profile
[무엥일기] 무엥,,, 내가 머쨍이 개발자가 될 수 이쓰까,,,

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

거의 공부 시작하실때부터 봤는데 ... 매일 이렇게 정리 꼼꼼하게 하시는거 대단하십니다

1개의 답글