ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Stack과 Queue에 대해 알아보자
    알고리즘&자료구조 2024. 2. 27. 12:24

    이번에는 Stack과 Queue에 대해 알아볼 것이다.

     

    Stack과 Queue는 순차적 자료구조에 속한다.

     

    Stack은 택배화물을 쌓아 놓은 것으로 이해하면 쉽다. 

    먼저 들어온 것이 가장 나중에 나가는 방식인데, 이를 흔히 FILO(선입후출)방식이라고 한다.

     

    Queue는 종이컵을 뽑는 장치를 생각하면 쉽다. 

    먼저 들어온 것이 가장 먼저 나가는 방식인데, 이를 흔히 FIFO(선입선출)방식이라고 한다.

     

    Java에서 이 두 자료구조를 사용하려면,

    import java.util.*;

     

    을 사용하면 된다.

     

    엄밀히 말하자면, 위의 코드는 Stack과 Queue를 포함한 자바에서 지원하는 모든 자료구조를 불러온다.

     

    Stack에는 크게 3가지 메서드가 있는데, 

    값을 넣는 push,

    값을 빼는 pop,

    자료구조에 영향을 주지 않고 값을 때는 peek가 있다.

    // 자료구조 선언
    Stack<> stack = new Stack<>();
    
    //값 넣기
    stack.push(1) // 자료구조: [1]
    stack.push(2) // 자료구조: [1, 2]
    
    //빠질 값 보기
    stack.peek() // 값 나옴: 2, 자료구조: [1, 2]
    
    //값 빼기
    stack.pop()  // 값 뽑혀나옴: 2, 자료구조: [1]

     

    Queue에도 크게 3가지 메서드가 있는데,

    값을 넣는 offer,

    값을 빼는 poll,

    자료구조에 영향을 주지 않고 값을 때는 peek가 있다.

     

    // 자료구조 선언
    Queue<> queue = new LinkedList<>();
    
    //값 넣기
    queue.offer(1) // 자료구조: [1]
    queue.offer(2) // 자료구조: [1, 2]
    
    //빠질 값 보기
    queue.peek() // 값 나옴: 1, 자료구조: [1, 2]
    
    //값 빼기
    queue.poll()  // 값 뽑혀나옴: 1, 자료구조: [2]

     


    복습해볼 것

    Stack으로 구현할 수 있는 계산기 예제

    Queue로 구현할 수 있는 조세프스 문제

    '알고리즘&자료구조' 카테고리의 다른 글

    BFS에 대해 알아보자  (0) 2024.02.23
Designed by Tistory.