[자료구조] 왜 자료구조를 배우는가?

왜 우리는 자료구조가 필요할까?

이러한 질문으로부터 오늘 수업이 시작되었다.



목차(클릭 시 이동됩니다.)

자료구조의 힘


구조화된 자료, 그렇지 않은 자료


자료구조는 자료를 빠르고 정확하게 인식할 수 있도록 해준다.


가령 1 ~ 100까지 수가 무작위로 배열되어있을 때 어떤 하나의 수를 찾아야 하는 상황을 생각해보자.
여기서 42를 찾아보자.





필자는 적어도 3초 이상 걸렸다.

100까지만 해도 이정도인데, 자료의 양이 방대해질수록 훨씬 오래걸릴 것은 자명하다.







여기서는?


아마 1초 대에 찾을 수 있을 것이다.
자료가 많아지더라도 전자에 비해 시간은 훨씬 줄어들 것이다.

이렇게 자료구조는 거대한 데이터를 효율적으로 처리하도록 하는데 필수적이다.

컴퓨터가 자료를 저장하는 방법

컴퓨터는 데이터를 비트(bit)의 형태로 저장한다.
전류가 흐를 때를 1, 흐르지 않을 때를 0으로 해서 이진법을 이용한다.


다음은 숫자를 이진법으로 나타낸 예시다.
168을 이진수로 나타냄

이진법의 규칙에 따라 숫자는 위와 같이 나타낼 수 있다.



하지만 여기서 
문자와 사진 및 영상 그리고 표나 그래프 등은 어떻게 이진법으로 나타내는지
그리고 그 수들을 어떻게 숫자와 구분하는 것인지 의문이 생긴다.


그 해답은 인코딩에서 찾을 수 있다.
숫자를 제외한 나머지 데이터들에 한해서는 사전에 컴퓨터에 규칙을 정해두어 1과 0으로 나타낸다. 
ASCII 표
위는 인코딩 방식 중 하나인 ASCII다. 


가끔 한글로 작성된 파일이 깨지는 현상이 발생할 때가 있다.
그건 인코딩 방식의 차이로 인하여 발생하는 것으로 이해할 수 있을 것이다.



구체적으로 다루지는 않았지만, 정리하면 인코딩을 통해 앞서 살펴본 표의 형태까지도 구현할 수 있다. (사진 또한 표의 형태이고, 영상은 사진의 집합으로 생각할 수 있다.)

자료구조, 이제 구현할 준비가 되었다.


앞서 직접 표에서 데이터를 찾아보고, 컴퓨터는 어떻게 표를 만드는지 그 원리도 알아보았다.
이를 통해 우리는 자료구조가 필요한 이유를 추론해볼 수 있다.

과거, 연산 성능이 부족했던 시기에는 효율적으로 데이터를 처리하기 위함이었다면,
현재와 미래, 연산 성능도 늘어나고 처리하는 데이터의 양 또한 증가하는 상황에서 역시 효율성이 필수적이다. 특히 모바일 디바이스에서는 더더욱.

과거와 현재, 그리고 미래에도 자료구조를 통한 효율적인 데이터 처리는 필수불가결하다.

추천글 : 수포자, 수학이 막연한 분들을 위한 수학 완벽정리(feat. 수학 잘하는 법)
인공지능 시대 창의성이 중요한 이유
hyeon_B

안녕하세요! AI 기술을 이용해 더 나은 세상을 만들어 나가고 싶은 과기원생 Hyeon이라고 합니다. 저는 앞으로 인공지능 시대에는 지식을 '활용'하는 능력이 중요해질 것이라고 생각합니다. 대부분의 일들은 인공지능이 뛰어난 모습을 보이지만, 인공지능은 데이터로 부터 연관관계를 학습하기 때문에 지식들을 새로 통합해서 활용하는 능력이 부족합니다. 인공지능이 뉴턴 전에 만들어졌다면 사과가 떨어지는 이유에 대답하지 못했을 것이고, 아인슈타인 전에 만들어졌다면 중력이 어떻게 생기는지 설명하지 못했을 것입니다. 따라서 앞으로 우리는 '본질'을 탐구하고 그 본질로부터 다른 곳에 적용하며 인공지능을 현명하게 활용해야 할 것입니다. 함께 인공지능 시대를 준비합시다!

댓글 쓰기

다음 이전

POST ADS1

POST ADS 2