Home Data Structure 0.Introduction

[자료구조] 0.Introduction

Post Date

Modified Date

Category

안녕하세요, 오랜만에 새로운 카테고리를 하나 시작할까 합니다. 그 동안 훈련소의 공백 때문에 밀려있는 일과, 학과에서 새로 진행중인 사업 제안서를 작성하느라 블로그에 공부 관련 글을 작성할 시간이 없었습니다. 작년에 블로그를 만들었을 때는 이맘때쯤 공부 관련 카테고리에 글이 한가득 있을 것이라 생각했는데, 계획대로 잘 되지 않았네요. 앞으로는 틈틈히 최대한 짬을 내서 원래의 목적대로 공부 관련 글을 채워볼까 합니다.

이 카테고리에서는 컴퓨터공학과 학부 과목 중 하나인 자료구조 과목을 정리할 생각입니다. 자료구조는 보통 2학년 과정에서 배우게 되는데, 대부분의 학교에서 필수과목으로 지정해둘 만큼 중요성이 높은 과목입니다. 특히 고학년 과목들은 자료구조를 모른다면 아예 손을 댈 수도 없을 정도이기 때문에, 확실히 배워두고 넘어가야 합니다.

저는 학부 때 자료구조 과목만큼은 굉장히 열심히 들었기 때문에 큰 어려움 없이 A+ 학점을 받고 이수를 했는데, 조교를 해보니 의외로 학부생들은 이 과목을 어려워하는 것 같습니다. 특히 연결 리스트(Linked List) 부분부터는 아예 손을 놓는 학생들을 많이 봤습니다. 과목 자체가 어려운 것은 아니지만, 배운 내용을 직접 프로그래밍하면서 이해하지 않고 강의자료만 읽으며 넘어가는 학생들이 버거워하는 것으로 보입니다.

프로그래밍 관련 과목이 다 그렇지만, 이 과목도 이론적인 것을 공부한 다음에는 반드시 하나하나 프로그램을 구현해보아야 합니다. 특히 포인터가 들어가는 연결 리스트 이후부터는 프로그램이 복잡해지기 때문에 직접 손으로 프로그램의 구조를 그려보고, 어떤 방법으로 프로그램이 돌아가는지를 하나하나 따라가봐야만 제대로 자기 것으로 만들 수 있습니다.

자료구조를 배울 때 사용하는 교재는 학교마다 다르겠지만, 대부분의 학교에서는 Horowitz의 Fundamentals of Data Structure in C 라는 교재를 사용하는 것으로 알고 있습니다. 워낙 유명한 책이다보니 한글 번역본도 나와있습니다. 많은 분들이 번역본을 읽는 것보다는 원서를 읽는 것을 추천하지만, 개인적인 생각으로는 영어에 자신이 없다면 번역본을 읽는 것도 나쁘지 않다고 생각합니다. 아무래도 영어로 보다보면 한글에 비해 읽는 시간이 너무나 오래 걸리기 때문입니다.

이 책에서는 제목대로 학습 내용을 C언어로 구현한 코드를 제공해줍니다. 프로그램 전체를 보여주는 경우는 별로 없고, 대부분은 특정 함수만 코드로 알려줍니다. 저는 이 책을 정리하는 입장이다보니, 가급적이면 책에 나와있는 프로그램을 직접 구현해서 포스트에 첨부하고자 합니다.

그럼 다음 포스트부터 본격적으로 자료구조의 각 단원을 정리해서 올리도록 하겠습니다.

댓글 남기기

Please enter your comment!
Please enter your name here

Duvelix

학부에서는 수학을, 대학원에서는 컴퓨터공학을 전공했습니다. 현재는 컴퓨터공학과 박사과정을 수료하고 보이지 않는 졸업과 싸우는 중입니다.

Popular posts

[KATC] 전문연구요원 훈련소 후기 – 프롤로그

훈련소를 수료하고 돌아온지도 거의 열흘이 지났습니다. 그 동안 밀려있던 일들을 처리하기도 하고 오랜만에(?) 느낀 사회의 자유를 즐기느라 포스트를 작성하지 못했습니다. 당분간은 정기적으로 작성해던 포스트의...

[기계학습] 7. VC Dimension

일곱 번째 챕터에서는 지난 챕터 마지막에 나온 Vapnic-Chervonenkis (VC) Dimension에 대해 배우게 됩니다. 이번 챕터는 4개의 소주제로 나뉘어 있습니다. 먼저 VC Dimension의 정의를 배우고, Perceptron에서의...

[Tip] New 닌텐도 3DS XL vs New 닌텐도 2DS XL

안녕하세요, 오늘 포스트는 New 닌텐도 3DS XL과 New 닌텐도 2DS XL의 차이점을 소개하려고 합니다. 저는 New 닌텐도 2DS XL로 시작을 했고 최근에 New 닌텐도 3DS...

[KATC] 전문연구요원 훈련소 후기 – 1주차

지난 포스트에 이어서 입영심사대부터 1주차 일정을 자세히 적어보도록 하겠습니다. 입영심사대로 가면 사람이 굉장히 많습니다. 인파를 조금만 헤치고 들어가면 주차장 근처부터 조교들이 입영자 외에는 입장할...

[Life Hack] 구글 애드센스 시작하기

구글 애드센스는 구글에서 컨텐츠 제공자들이 수익을 얻을 수 있게 만드는 광고 게제 서비스입니다. 구글 계정을 통해 가입하여, 제공 받은 광고 태그를 블로그나 유튜브에 삽입하면...

Recent comments