Why Data Structure?
프로그래밍을 할 때에 우리는 수많은 변수를 선언하고, 초기화하며, 수정하며 사용한다.
그렇다면 이런 변수들은 어디에 저장되는 것일까? 바로 Memory 공간에 저장된다. 특히나 RAM 공간에 저장된다고 할 수 있다.
다음은 RAM의 사전적 정의이다.
RAM(Random Access Memory)은 기억된 정보를 읽어내기도 하고 다른 정보를 기억시킬 수도 있는 메모리로서, 컴퓨터의 주기억장치, 응용 프로그램의 일시적 로딩(loading), 데이터의 일시적 저장 등에 사용된다.
[네이버 지식백과] RAM [random access memory] (두산백과)
위의 설명을 보면 데이터의 일시적 저장 에 사용된다고 나와 있다.
이러한 변수들은 영구적으로 하드디스크에 저장되는 것이 아니라 일시적으로 저장된다.
컴퓨터를 구매하기 위해서 RAM에 대해 알아본 사람이라면 알 수 있겠지만, 하드디스크처럼 500GB, 1TB 하는 엄청난 용량이 아니라
4GB, 8GB 식으로 그 공간이 그렇게 크지 않다. 그렇다면 이러한 비교적 작은 공간을 얼마나 효율적으로 사용하느냐 하는 것은 중요한 문제가 될 것이다.
물론 하드웨어의 발전으로 인하여 이전의 256MB, 512MB RAM 환경의 시기에 비해서는 그 중요성이 조금 떨어졌을지도 모르나,
많은 데이터를 저장하고, 효율적으로 이용하기 위해서는 시기와 용도, 환경에 맞는 데이터 구조를 사용하는 것은 매우 중요하다고 할 수 있다.
<요약> 제한된 Memory를 보다 효율적으로 사용하기 위하여 Data Structure가 필요하다!
What Data Structure?
What Data Structure?
블로그에서 다룰 데이터 구조의 종류는 다음과 같다.
- Array
- Struct
- Linked List
- Stack
- Queue
- Tree
- Graph
흔히 데이터 구조는 각각의 노드가 1:1로 매칭되는 선형 구조, 1:n 혹은 n:m으로 매칭되는 비선형 구조로 나뉜다.
모든 내용의 글을 다 읽게 된다면, 다시 돌아와서 다음 질문에 대답할 수 있을 것이다.
<질문> 위에 나열 된 데이터 구조들을, 선형 구조와 비선형 구조로 나눈다면 ?