반응형
자료구조의 개념
자료구조란 무엇인가
자료구조
란, 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케하는 자료의 조직/관리/저장을 의미한다.- 더 정확히는, 자료구조는 (1) 데이터 값의 모임이며, (2) 데이터 간의 관계 (3) 데이터에 적용할 수 있는 함수나 명령을 의미한다.
- 요약하면,
자료구조
는 자료에 효율적으로 접근하고 수정할 수 있도록 데이터를 구성하고 저장하는 방법을 의미하는 것이다.
자료구조의 구분
- 자료구조는 저장되는 데이터의 형태에 따라 구분할 수 있다.
- 선형 자료구조
- 비선형 자료구조
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는 메모리에 로드된 데이터를 이용해서 여러가지 일을 하게 된다.
- 그러므로 실행속도를 결정하는 것은 대체로 메모리이며 그렇기 때문에 메모리를 효율적으로 사용하는 것이 중요한 것이다.
반응형
'IT > CS' 카테고리의 다른 글
[CS/Data Structure] 2. 배열과 연결리스트 (Array & Linked List) (0) | 2023.04.13 |
---|