인프런 - 강의/개발자는 왜 간단한 것도 안된다고 하나요?

10 - 자료구조와 알고리즘이 중요하다던데?

개복치 개발자 2020. 4. 12. 12:56

자료구조와 알고리즘은 뭔지에 대해서 알아보겠습니다.

 

알고리즘 같은 경우는, 저희가 뭐 유투브 알고리즘 이런 단어등을 통해서

 

어떠한 법칙? 같은 것이구나 라고 감을 잡을 수 있습니다.

 

알고리즘에 대해서 조금 더 알고가면

 

제가 만약 유투브에서 트와이스 영상을 봅니다.

 

그러면 자연스럽게 다음 동영상에 관련 영상들이 나옵니다.

 

 

이 과정을 아래의 순서도로 나타낼 수 있습니다.

 

 

이 것을 다르게 말하면 유투브에서 영상을 틀어주는 알고리즘이라고 합니다.

 

그러면 자료구조는 무엇인가 하고 보면

 

자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다.

(출처 - https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0)

 

라고 나와있습니다.

 

이게 뭔지 간단하게 말하면

 

예를 들면 아이돌 리스트를 찾으려고 검색창에 아래와 같이 칩니다.

 

 

그러면 저 카라에 대한 결과값을 찾아와야 하는데

 

아래와 같이 데이터 구조가 되어 있으면 

 

 

 

수십개의 데이터를 훑고난 뒤, 카라를 찾아야 합니다.

 

다만 이게 수십개, 수백개인 경우 크게 상관이 없는데 저 데이터가 중간에 100만개 더 있으면 이야기가 달라집니다.

 

 

 

그래서 아래와 같이 데이터를 정렬해두면 빨리 찾을 수 있지 않을까?

 

해서 사용하는 것이 자료구조입니다.