[자료구조] - 배열, 큐, 스택

유현민·2022년 2월 17일
0

CS

목록 보기
6/17

1. 자료구조

  • 대량의 데이터를 효율적으로 관리할 수 있도록 하는 데이터 구조

2. 배열

  • 같은 종류의 데이터를 효율적으로 관리하기 위해 사용
  • 같은 종류의 데이터를 순차적으로 저장
  • 장점 : 빠른 접근 가능(첫 데이터의 위치에서 상대적인 위치로 접근<인덱스 번호>)
  • 단점 : 데이터 추가/삭제의 어려움(미리 길이를 지정해야함)

3. 큐

  • 줄을 서는 행위와 유사
  • 가장 먼저 넣는 데이터를 가장 먼저 꺼낸다(FIFO)

    Enqueue(넣기)
    Dequeue(꺼내기)

파이썬에 queue 라이브러리 있음

Queue() : 일반적인 큐 구조
LifoQueue() : 나중에 입력된 데이터가 먼저 출력(스택 구조)
priorityQueue() : 데이터마다 우선 순위를 넣어서 순위가 높은 순으로 데이터 출력

큐는 멀티 태스킹을 위한 프로세스 스케쥴링 방식을 구현하기 위해 많이 사용

4. 스택

  • 데이터를 제한적으로 접근할 수 있는 구조
  • 가장 나중에 쌓은 데이터를 가장 먼저 꺼낼 수 있다(LIFO|FILO)
    대표적인 스택활용 : 컴퓨터 내부의 프로세스 구조의 함수 동작 방식

Push() : 넣기
Pop() : 꺼내기

  • 장점 : 구조가 단순, 구현이 쉽다. 데이터 저장/읽기 속도가 빠름
  • 단점 : 데이터 최대 갯수 미리 정해야함
    저장공간 낭비 발생 가능성
profile
smilegate megaport infra

0개의 댓글