IT/CS

[CS/Data Structure] 1. 자료구조란 무엇인가

Hodie! 2023. 4. 12. 16:23
반응형

자료구조의 개념

자료구조란 무엇인가

  • 자료구조란, 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케하는 자료의 조직/관리/저장을 의미한다.
  • 더 정확히는, 자료구조는 (1) 데이터 값의 모임이며, (2) 데이터 간의 관계 (3) 데이터에 적용할 수 있는 함수나 명령을 의미한다.
  • 요약하면, 자료구조자료에 효율적으로 접근하고 수정할 수 있도록 데이터를 구성하고 저장하는 방법을 의미하는 것이다.

자료구조의 구분

  • 자료구조는 저장되는 데이터의 형태에 따라 구분할 수 있다.
    1. 선형 자료구조
    2. 비선형 자료구조

1. 선형 자료구조

  • 데이터가 일렬로 나열되어 있는 것이 특징이다.
  • 종류
    (1) Array (2) Linked List (3) Stack (4) Queue (5) Vector

2. 비선형 자료구조

  • 선형 자료구조와 달리 데이터가 특정한 형태를 띠고있는 것이 특징이다.
  • 종류
    (1) Tree (2) Graph (3) Heap (4) 우선순위 큐 (5) Map (6) Set (7) HashTable

자료구조의 중요성

  • 결론적으로 자료구조가 중요한 이유는, 메모리를 효율적으로 사용하기 위해서이다.

그렇다면 메모리를 효율적으로 사용하는 이유는?

  • 컴퓨터에는 4가지의 중요한 부품이 있다. (1) cpu (2) 메모리 (3) 스토리지(storage) 이다.
    • 메모리는 보통 우리가 부르는 RAM과 같은 것이고, 스토리지는 SSD, HDD와 같은 것들이다.
  • 메모리
    • 속도가 매우 빠르지만 용량이 매우 작다.
    • 전기를 끄면 데이터가 사라지는 속성을 갖고있다.
    • 이러한 이유때문에 데이터는 기본적으로 '스토리지'에 저장된다.
  • 하지만 스토리지는, 매우 느리기 때문에 CPU와 함께 일을하기에 매우 부적절하다.
  • 그래서 어떤 일을 하면, 그 프로그램과 데이터는 메모리로 옮겨지고, CPU는 메모리에 로드된 데이터를 이용해서 여러가지 일을 하게 된다.

  • 그러므로 실행속도를 결정하는 것은 대체로 메모리이며 그렇기 때문에 메모리를 효율적으로 사용하는 것이 중요한 것이다.
반응형