ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조
    Algorithm & Data Structure 2021. 4. 5. 14:51
    728x90

    자료구조

    데이터를 저장하고 관리하기 위해 사용하는 구조 자체를 의미하기도 하며,

    데이터의 효율적인 접근 및 조작을 가능하게 해주는 저장 및 관리 방식이다.

    출처 : [Data structure] 자료구조 종류와 분류 (velog.io)

    프로그래밍시 다양한 성격의 데이터를 접하게된다.

    결국 프로그래머는 어떤 데이터를 다루고, 저장하고, 저장한 데이터를 가져올 수 있어야한다.

    이때, 여러 상황에 적합한 자료구조를 선택하여 적용 할 수 있어야한다. 

    어떤 자료구조를 이용하는지에 따라 1초가 걸리기도 하고 100초가 걸리기도 한다.

    이는 어떠한 서비스로 예를 들어도 매력적인 서비스는 결코 아닐 것이다.


    자료구조는 데이터를 효율적으로 사용하기 위함인데, 그렇다면 컴퓨터에 데이터가 어떻게 저장되는지 알아보자.

     

    크게 아래 두 곳에 데이터를 저장한다.

    1. 스토리지

    데이터가 영구적으로 저장되는 곳으로 음악, 문서, 노래, 영화 등이 모두 이곳에 저장된다.

    사용자가 직접 삭제하거나, 외부 강제요인이 없는 이상 지워지지 않는다.

    간단하게 스토리지 = HDD 라고 생각해도 좋다.

     

    특징

    데이터를 저장하는데 오래 걸리며

    데이터를 받아오는데 오래 걸린다.

    주로, 언제 사용할지 모르는 파일을 저장한다.


    2. 메모리

    데이터를 임시로 저장하는 곳으로 대표적 특성으로 비휘발성 메모리 단어를 떠올리면 되겠다.

    흔히 알고 있는 컴퓨터 램(RAM) = 메모리라고 생각해도 좋다.

     

    특징

    데이터를 저장하는데 빠르며

    데이터를 받아오는데 빠르다.

    스토리지에 비해 용량이 작지만, 당장 사용해야하는 데이터를 저장하는 용도로 사용한다.

     

    서로가 서로를 보완하는 역할을 하므로 컴퓨터는 이 두가지를 함께 사용하는 것이다.

     

    메모리 (Random Access Memory RAM)

    임의 접근 메모리의 줄임말로 

    임의 접근이란 

    저장 위치를 알면 접근할때 항상 일정한 시간이 걸린다.

    95, 183, 152581 주소에 있던 메모리에 저장된 데이터에 접근하는 시간 복잡도는 항상 O(1)이다.

    굉장히 효율적이라는 것을 알 수 있다.


    자료구조는 

    메모리에 데이터를 저장하고

    메모리에 저장된 데이터를 찾는 구조 또는 방식이다.

    결국, 자료구조는 데이터를 메모리에서 잘 사용하기 위한 수단으로 사용하며 메모리는 임의 접근(O(1))으로 동작한다는 것을 기억하자.

     

    알고리즘으로 공부를 하던 중 계속해서 배열 파트에 머물러있어야 했다. 

    주관적으로 나에게 맞는 순서는 자료구조를 먼저 공부하고 이를 알고리즘에 적용시켜 문제를 풀어나가는 것이 더 흥미를 느끼고 재밌게 공부할 수 있을 것 같았다.

    가능한 까먹지 말아야 할 개념에 대해 포스팅을 집중해보도록 하자

     

    출처 및 참고 : 

    www.codeit.kr/

    [Data structure] 자료구조 종류와 분류 (velog.io)

    728x90

    'Algorithm & Data Structure' 카테고리의 다른 글

    해시 테이블  (0) 2021.04.10
    링크드 리스트  (0) 2021.04.08
    배열  (0) 2021.04.06
    빅오 표기법 (O, big-O)  (0) 2021.02.23
    자료구조와 알고리즘 왜 공부해야 할까?  (0) 2021.02.18
Designed by Tistory.