티스토리 뷰

우리 주변을 살펴보면 많은 부분에 있어 규칙이 정해져 있고, 조직화되어 있는 것을 볼 수 있습니다.

이렇게 하는 이유는, 효율적이기 때문인데요. 예를 들면 해야할 일을 리스트로 정리한다던가, 매표소에서 줄을 서서 구매하는 것 등등 여러 가지가 있습니다. (만약 매표소에서 줄을 서지 않고 표를 구매할 수 있다면, 엉망진창이 되겠죠?)

일상에서 볼수 있는 예와 자료구조를 비교해보면 아래와 같이 나타 낼 수 있습니다.

우리가 만들게 되는 프로그램은 적절한 자료구조와 알고리즘으로 이뤄집니다. 그래서 많은 회사들이 자료구조와 알고리즘을 중요하게 생각하는 것이죠! 

만약 최대값을 찾는 프로그램을 작성한다고 가정해봅시다. 최댓값을 찾는 프로그램의 경우 다양한 방법이 있겠지만, 배열이라는 자료구조와 순차탐색이라는 알고리즘을 사용하여 구현을 할 수 있습니다. 

 

자료구조에 대한 개념을 좀 더 자세히 살펴보면, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미합니다. 어떤 자료구조를 선택하느냐에 따라 프로그램의 실행 시간과 메모리용량과 같은 컴퓨터 자원 사용에 영향을 끼치게 됩니다. (그러므로 자료구조와 알고리즘은 뗄레야 뗄 수 없는 관계!) 

자료구조와 알고리즘은 뗄레야 뗄 수 없는 관계라 그랬죠?? 그렇기 때문에 알고리즘을 평가하는 기준이 되는 시간복잡도와 공간복잡도에 대한 개념을 알고 있으면 좋습니다. 만약 알고리즘 시간 복잡도와 공간 복잡도의 개념을 모르고 계신 분이라면, 이 글 을 읽고 오시는 것을 추천합니다! 

그리고 시간적 여유가 있으신 분이라면, 추가로 나무위키에서 정리한 자료구조에 대한 내용도 읽어보면 좋을 것 같습니다 :)

자료구조는 구조에 따라 다음과 같이 나눌 수 있습니다. 

data structure

여기서 우리가 주의깊게 공부할 내용은 선형 구조비선형 구조입니다.

선형 자료구조

- 데이터를 일렬로 저장하는 방식 ex) 리스트, 스택, 큐, 덱..

 

비선형 자료구조

- 데이터를 나란히 저장하지 않는 구조 ex) 트리, 그래프

 

여기까지 자료구조에 대한 개념과 필요성에 대해 알아봤습니다.

앞으로는 배열, 스택, 큐, 리스트.. 트리... 그리고 그래프까지 차근차근 포스팅해보겠습니다.

읽어주셔서 감사합니다 :) 

 

참고)

ko.wikipedia.org/wiki/위키백과

 

위키백과 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 위키백과(Wiki百科, IPA: [ɥikçibɛ̝k̚k͈wa̠], [ykçibɛ̝k̚k͈wa̠] ( 듣기)) 혹은 위키피디아(영어: Wikipedia 위키피디어[*], IPA: [ˌwɪkɪˈpiːdɪə] ( 듣기))는 누구나 자��

ko.wikipedia.org

namu.wiki/w/자료구조

 

자료구조 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권�

namu.wiki

medium.com/@ghilbut/프로그래밍을-잘하는-5가지-방법-1-자료구조와-알고리즘-공부하기-ebf3a3f79ee2

 

프로그래밍을 잘하는 5가지 방법 — 1. 자료구조와 알고리즘 공부하기

1. 자료구조와 알고리즘 공부하기 2. 가독성 신경쓰기 3. 공식 문서 및 메뉴얼 꼭 확인하기 4. 편집증적인 검증과 자동화 5. 똑똑한 사람들 따라하기

medium.com

댓글
링크
최근에 올라온 글
최근에 달린 댓글