알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 스택과 큐

2023. 12. 3. 11:39·ALGORITHM

03-5 스택과 큐

스택과 큐의 핵심 이론

① 스택

- 스택은 삽입과 삭제 연산이 후입선출(LIFO: Last-in First-out)로 이뤄지는 자료구조

- 후입선출은 삽입과 삭제가 한 쪽에서만 일어남

- 깊이우선탐색(DFS), 백트래킹 종류의 코딩테스트에 효과

파이썬의 스택

위치

- top: 삽입과 삭제가 일어나는 위치

연산(리스트 이름이 s일 때)

- s.append(data): top 위치에 새로운 데이터를 삽입하는 연산

- s.pop(): top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산

- s[-1]: top 위치에 현재 있는 데이터를 단순 확인하는 연산

 

② 큐- 큐는 삽입과 삭제 연산이 선입선출(FIFO: First-in First-out)로 이뤄지는 자료구조- 삽입과 삭제가 양방향에서 이뤄짐- 너비우선탐색(BFS:Breadth First Search)에서 자주 사용 

파이썬의 큐

위치

- rear: 큐에서 가장 끝 데이터를 가리키는 영역

- front: 큐엥서 가장 앞의 데이터를 가리키는 영역

연산(리스트 이름이 s일 때)

- s.append(date): rear 부분에 새로운 데이터를 삽입하는 연산

- s.popleft(): front 부분에 있는 데이터를 삭제하고 확인하는 연산

- s[0]: 큐의 맨 앞(front)에 있는 데이터를 확인할 때 사용하는 연산

 

+ 우선순위 큐

- 값이 들어간 순서와 상관 없이 우선순위가 높은 데이터가 먼저 나오는 자료구조

- 큐 설정에 따라 front에 항상 최댓값 또는 최솟값이 위치

- 주로 힙(max/min)을 통해 구현

 

반응형

'ALGORITHM' 카테고리의 다른 글

알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 구간 합 구하기 2  (0) 2023.12.03
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 나머지 합 구하기  (0) 2023.12.03
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 구간 합  (0) 2023.12.02
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 배열과 리스트  (0) 2023.12.02
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 디버깅  (0) 2023.12.02
'ALGORITHM' 카테고리의 다른 글
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 구간 합 구하기 2
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 나머지 합 구하기
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 구간 합
  • 알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 배열과 리스트
진미
진미
  • 진미
    ABC
    진미
  • 전체
    오늘
    어제
    • 분류 전체보기 (64)
      • PROJECT (3)
      • ALGORITHM (43)
      • STUDY (3)
        • 리액트 (7)
        • 파이썬 (2)
      • 기타 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 설정
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
진미
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 스택과 큐
상단으로

티스토리툴바