[Data Structures] 자료구조란?

🗄️ 자료구조란?

자료구조는 데이터를 효율적으로 저장하고 관리하기 위한 구조를 의미한다. 데이터를 필요에 따라 체계적으로 구조화하여 처리하는 방법을 말한다.

자료구조는 데이터를 담는 ‘그릇’이라고 할 수 있다.

예를 들어 책장, 서랍, 상자처럼 물건을 담는 방식이 다양하듯이, 데이터를 담는 방식도 여러 가지가 있다.


🎯 자료구조의 필요성

자료구조가 필요한 이유는 다음과 같다.

  1. 효율적인 데이터 관리

    • 데이터를 빠르게 찾고 저장할 수 있다.
    • 메모리를 효율적으로 사용할 수 있다.
  2. 데이터의 체계적인 관리

    • 데이터 간의 관계를 표현할 수 있다.
    • 데이터를 논리적으로 구조화할 수 있다.
  3. 프로그램의 성능 향상

    • 적절한 자료구조 선택으로 실행 시간을 단축할 수 있다.
    • 복잡한 데이터를 효과적으로 다룰 수 있다.

🔍 자료구조의 분류

자료구조는 크게 선형 구조비선형 구조로 나눌 수 있다.

📈 선형 구조

데이터가 일렬로 나열된 형태의 자료구조다.

  • 배열(Array)

    • 같은 타입의 데이터를 연속된 메모리 공간에 저장한다.
    • 인덱스를 통해 빠르게 접근할 수 있다.
  • 연결 리스트(Linked List)

    • 데이터가 포인터로 연결된 구조다.
    • 삽입과 삭제가 용이하다.
  • 스택(Stack)

    • 후입선출(LIFO) 구조다.
    • 가장 마지막에 들어온 데이터가 가장 먼저 나간다.
  • 큐(Queue)

    • 선입선출(FIFO) 구조다.
    • 가장 먼저 들어온 데이터가 가장 먼저 나간다.

🌳 비선형 구조

데이터가 계층적 또는 망형으로 구성된 자료구조다.

  • 트리(Tree)

    • 계층적 구조를 표현한다.
    • 이진 트리, 이진 탐색 트리 등 다양한 종류가 있다.
  • 그래프(Graph)

    • 노드와 간선으로 구성된 자료구조다.
    • 네트워크 구조를 표현하는 데 사용된다.

Leave a comment