자료구조

sunghyun·2025년 4월 28일

자료구조

목록 보기
1/1

자료구조는 개발을 하면서 데이터를 효율적으로 저장하고 관리하기 위해 만들어진 구조입니다.

자료구조는 알고리즘과 아주 밀접한 관계를 가집니다. 알고리즘을 구현하기 위해 자료구조를 사용하기 때문에 반대로 말하면 자료구조를 알면 모든 알고리즘을 구현할 수 있습니다.


자료구조 다이어그램

위 다이어그램은 자료구조의 특징과 방식을 정리한것 입니다.

단일 자료구조(int, long, double 등)는 프로그래밍 언어 자체에서 기본으로 제공되는 자료구조로 프로그래밍을 처음 시작할때 가장 먼저 배우게 되는 자료이다보니 설명은 하지 안겠습니다.

  • 복합 자료구조

    • 선형 [요소를 순서대로 나열시키는 방식]

      • 선형 자료구조 에는 또 정적동적 이 있습니다.
        정적은 요소의 개수가 정해져 있는 구조로 배열이 있습니다.

        동적은 요소를 추가 또는 삭제를 할 수 있는 즉 요소의 개수가 동적으로 변할 수 있는 구조로서 링크드리스트, 스택, 큐 등이 있습니다.

    • 비선형 [요소를 비 연속적으로 연결시키는 방식]

이 있습니다.


추상 자료구조

위 다이어그램 에서 파란색 으로 작성된 자료구조는 추상 자료구조 라고 합니다.
말 그대로 추상적으로 만 정의 되어있는 구조이기 때문에 어떻게 구현할 지는 개발자가 상황에 따라 기본 자료구조 를 활용해서 구현해야 합니다.

간단하게 예시로
스택 은 데이터가 들어오면 아래부터 순서대로 쌓이게 되고 데이터가 나갈때는 가장 위에 있는 데이터부터 나가는 구조입니다.
이는 동작은 정의되어 있지만 어떻게 구현할지는 정의가 되어있지 않기 때문에 배열을 사용해서 구현할지 연결드리스트 를 사용해서 구현할지 개발자 마음입니다.

추상 자료구조 는 기본 자료구조를 활용해서 구현하는것 입니다.

0개의 댓글