자료구조란

자료구조를 왜 공부해야하는가?

이전 코딩을 접해보았을때 나는 단순히 코드만 작성하고 돌아가기만 하면 되지 라는 막연한 생각을 했다.
주어진 문제도 복잡하지 않고 그에 해당하는 데이터양도 많지 않아 원하는 결과가 잘 나오다 보니 신경을 안썼던것 같다.(공부를 안한 변명이기도 하다.)
하지만 자료구조 같은 기본 CS 지식을 무시하고 넘어가면 코딩을 한다 한들 이해없이 따라쓰기 바쁜 단순한 코더에 불구하게 되며 (컴퓨터전공자라면 들어서 안되는 얘기라 생각) 차후 회사에 취업하는데 있어 해당 지식은 모르면 안되는 사항이다.
물론 학교다니면서 자료구조 어느정도 공부를 하였으나 자료구조의 제대로된 설명을 하라하면 할 자신이 없기에 지금부터 다시 자료구조 학습하여 학습한 내용을 포스트에 공유 할 것이다.


인용할 책

인용할 책을 소개하기에 앞서 저작권 관련 내용을 얘기하려 한다.
저작권 관련 사항은 매우 복잡하기에 간략하게 어떻게 인용할것인지에 대해 설명하려 한다.

현행 저작권법 제25조에 따르면 공표된 저작물은 ‘보도․비평․교육․연구’ 등을 위해서라면 정당한 범위 안에서 공정한 관행에 합치되게 이를 인용할 수 있다. 즉, 공표된 저작물을 보도․비평․교육․연구 등의 목적으로 ‘인용’하는 것은 저작재산권 침해가 아니다. 하지만 그것은 정당한 범위 안에서 이루어져야 하고, 공정한 관행에 합치되는 방법이어야 한다. 여기서 인용(引用; quotation)이란 “다른 저작물의 내용 가운데에서 한 부분을 참고로 끌어다 쓰는 것”을 말하며, 특히 어문저작물을 작성함에 있어서는 매우 흔한 이용 방법이다. 그런데 문제는 ‘정당한 범위’ 또는 ‘공정한 관행’에 관한 해석에 있다.
출처: 대한출판협회

대한출판협회에 따르면 책 내용을 인용하는데에 있어 교육목적과 완전한 인용이 아닌 정당한 범위 내에 인용이 이루어진다면 문제가 되지 아니한다고 나와있다.
이 점 유의하고 작성토록 하자.

  • 윤성우의 열혈 자료구조

    윤성우님의 열혈 시리즈는 많이들 보았을거라 예상이 된다.
    해당 책은 대학생때 공부하기 위해 준비했던 책으로서 C++로 자료구조를 설명하지만 자료구조를 이해하는데에 있어 전혀 문제가 되지 않는다고 생각된다.

  • 프로그래밍 면접, 이렇게 준비한다.

    최근에 구입하게된 책이다. 프로그래밍 면접에 앞서 알아야할 기술 내용과 면접에서 갖춰야할 자세 등 좋은 내용이 많다.

  • Do it 자료구조와 함께 배우는 알고리즘 입문.

    이 책 역시 최근에 구입하게 된 책으로서 자료구조와 함께 알고리즘 문제를 풀라고 제시한다. 개인적으로 해당 책에서 나오는 알고리즘 문제를 풀면서 학습하게 된다면 이해하는데 도움이 많이 되지않을까 생각한다.


자료구조란


사진출처: YTK Naver Blog

“프로그램이란 데이터를 표현하고, 그렇게 표현된 데이터를 처리하는 것이다.”
위에서 말하는 ‘데이터 표현’은 ‘데이터 저장’을 포함하는 개념이다. 그리고 이렇듯 ‘데이터의 저장’을 담당하는 것이 바로 자료구조이다.
물론 여러분은 데이터를 저장한 경험이 있다. 사례를 들면 다음과 같다.
“정수를 저장하기 위해서 int형 변수를 선언하다.”
“개인정보를 저장하기 위한 목적으로 구조체를 정의한다.”
넓은 의미에서 int형 변수도, 구조체의 정의도 자료구조에 속한다. int형 변수도, 구조체도 데이터를 표현 및 저장하는 하나의 방법이기 때문이다.
뿐만 아니라 여러분은 배열을 선언해서 다양한 정보를 저장한바 있다. 즉, 배열도 자료구조의 일종이다.

- 윤성우의 열혈 자료구조에서

위 인용한 내용과 같이 자료구조의 대한 간략한 설명이 되어있다. 설명은 자료구조에 대한 간략한 이해정도다. 추후 포스팅할 내용은 선형구조와 비선형구조 두가지를 가지고 설명할 예정이다. 책 내용 역시 마찬가지로 선형,비선형 구조에 대한 설명이 주된 내용이다.
이 두가지에 대해서도 설명할 내용이 많으니 천천히 포스팅 해보도록 하겠다.

 Date: June 26, 2020
 Tags:  Data Structure

Next
배열(Array) ⏩