자료 구조- 선형 자료구조

Doya·2025년 1월 9일

1. 자료구조

  • 자료를 기억장치의 공간 내에 저장하는 방법과 자료 간의 관계, 처리 방법 등을 연구 분석하는 것
  • 저장 공간의 효율성과 실행시간의 단축을 위해 사용

선형 구조

  • 자료의 구조가 직선 형태로 순차적으로 나열되어 있는 구조
  • 전후 데이터들간 1대1 관계
  1. 배열구조
  2. 선형 리스트
  3. 스택
  4. 데크

비선형 구조

  • 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 구조
  • 전후 데이터들간 1:N 관계
  1. 트리
  2. 그래프

2. 배열(Array)

  • 크기와 형이 동일한 자료들이 순서대로 나열된 자료의 집합
  • 반복적인 데이터 처리 작업에 적합한 구조
  • 정적인 자료 구조
  • 기억장소 추가가 어려움
  • 데이터 삭제 시 기억장소가 빈 공간으로 남아있어 메모리의 낭비가 발생

3. 선형 리스트(Linear List)

  • 데이터를 논리적인 순서대로 연속하여 저장하는 방식
  • 데이터의 논리적인 순서와 기억 장소에 저장되는 물리적 순서가 일치하는 구조

1. 연속 리스트(Contiguous list)

  • 연속된 기억장소에 저장되는 자료 구조
  • 중간에 데이터를 삽입하기 위해서는 연속된 빈 공간이 있어야 함
  • 삽입 삭제 시 자료의 이동 필요

2. 연결 리스트(Linked List)

4. 스택(Stack)

  • 리스트의 한쪽 끝으로만 자료를 삽입(FILO; First In Last Out)
  • 저장할 기억 공간이 없는 상태에서 데이터가 삽입되면 오버플로가 발생
  • 삭제할 데이터가 없는 상태에서 데이터 삭제시 언더프로가 발생
    출처: https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%83%9D

5. 큐(Queue)

  • 리스트의 한쪽에서는 삽입, 다른쪽에서는 삭제 작업이 이루어지는 자료구조(FIFO; First In First Out)
  • 시작을 표시하는 프런트(Front) 포인터와 끝을 표시하는 리어(Rear) 포인터가 있음
    출처:https://ko.wikipedia.org/wiki/%ED%81%90_(%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0)

6. 데크(Deque)

  • 삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생
  • 큐와 스텍의 장점을 모두 갖고 있음

연습문제

1. 다음 보기중에 선형 구조를 모두 고르시오

a.큐 b.스택 c.트리 d.그래프 e.연속 리스트 f.데크

정답
a, b, e, f

profile
안녕하세요. 도야입니다

0개의 댓글