자료구조에 대해 질문좀..

kldpgk의 이미지


현재 C언어 기본문법 정도 익혔습니다.. 구조체 포인터까지..

그다음에 자료구조나 알고리즘책을 보고 싶은데..

사실상 자료구조 책에 접근을 해본적이 없어서 질문드립니다.

현재 C언어본 사람이 자료구조 접근하면 어려운지요 아님 볼수있는지 없는지..

궁금하네여;;

너무 잡스러운 질문을 하여 죄송합니다

ole2000의 이미지

자료구조는 언어랑 크게 상관있는건 아닙니다.
자료구조에서 배우는 알고리즘을 C/C++나 JAVA로 구현하지만
C를 할줄안다고 자료구조를 아는건 아닙니다.
지금 자료구조 공부하셔도 아무 상관없고, 글구 자료구조 공부하세요..
많이 도움될겁니다.

Be cool...

Be cool...

gokucse의 이미지

보통 많은 대학들이

1학년때 C 언어를 배우고 2학년때 자료구조를 배웁니다.

이유야 여러가지가 있겠지만..

자료구조가 여러 다른 학문 (OS, DB, AI, Graphics..)를 배우는데

필수적이기 때문에.. 2학년보다 더 미뤄서 배울 수 없기 때문이고.

1학년때 배우기는 어렵기 때문입니다.

1학년때 배우기 어려운 이유는. 바로 .. 프로그래밍 언어 때문입니다.

자료구조 책을 보시면 아시겠지만.. 많은 코드가 나옵니다.

자료구조를 설명한후.. 그것의 코드가 나오는 형식이죠..

물론.. 자료구조가 특정 언어에 종속적이지는 않지만..

프로그래밍 언어를 알아야.. 자료구조책을 읽기 쉽습니다.

보통의 경우 많이 쓰는 언어인 C 혹은.. 코드를 써놨을때

이해가 쉬운 파스칼 등의 언어가 많습니다.

C를 이해하신다면.. pascal-like source code도 쉽게 이해 되실테니

결국 C정도 간략하게 알고 계시면 자료구조책을 보시기가 무척 수월해

지겠죠

냠냠의 이미지

외국에선 보통 1학년 2학기에 자료구조 배우더군요.

한국에서 대부분(거의 모든 -_-;)학교가 2학년때 가르치는건

남자들의 군문제 때문에 아닐까 생각됩니다.

그리고 1학년 땐 놀자라는 한국의 대학문화가 반영되서 그런걸지도...

오리의 이미지

C로 설명된 자료구조책이 많이 있습니다.
그중에 인지도 높은 책 하나 골라서 보시면 될것 같네요.
자료구조는 C 기본문법만 아셔도 될겁니다.
그렇게 어려운 명령어들은 잘 안쓰니까요.

kldpgk의 이미지

저의 목표는 C와 C++,자바를 능숙하게 다루고 싶습니다

자료구조가 꼭 필요한지요.. ^^;;

제가 많이 모릅니다...학교도 휴학한 상태라

cleol의 이미지

언어를 잘 안다고 프로그램 잘 짜는게 아닙니다. 문장 하나 하나가 아무리 화려해도 글의 구성이 엉터리이면 아무 쓸모 없습니다. 전달하고자 하는 내용에 맞추어 서론, 본론, 결론을 잘 구성하고 앞, 뒤 주장이 잘 맞아들어가도록 글을 구성할 줄 모른다면 화려한 문장은 아무 쓸모 없습니다.
앞으로 일하실 분야에 따라서 자료 구조를 직접 구현해 사용할 일이 적을 수는 있지만 어떤 경우에도 자료구조에 대한 이해 없이는 프로그램 제대로 짤 수 없습니다.
5~6년 전에 한참 웹 관련 인력을 많이 뽑을때에 학원에서 asp, jsp 대충 배워서 온 친구들한테 자료 구조좀 공부하라고 권유 내지는 강요(?) 했던 기억이 납니다. 대학 전산과에서 배우는 다른 과목들 다 제쳐두고 자료 구조만 공부해도 프로그램 짜는게 달라집니다. 거기다가 학교에서 배우지는 않지만 디자인 패턴만 추가하면 특정한 분야들을 제외하고는 실용적인 목적에서 이론적인 기초는 충분하다고 봅니다. 물론 자신의 수준을 최대한 높이기 위해서는 그 이외에도 많은 공부를 해야겠지만 말이지요.

kldpgk의 이미지

질문 좀 하겟습니다..

보통 자료구조와 알고리즘.. 어느것을 더 부터 배우는지요..?

감사합니다

cleol의 이미지

보통 "자료구조와 알고리즘" 입니다. 그냥 "알고리즘"이라는 단어는 어떤 문제를 해결하기 위한 절차를 뜻합니다. 문제가 구체적으로 뭐냐에 따라서 알고리즘의 내용은 달라지는 거지요. 보통 기초 이론으로 배우는 알고리즘은 "특정한 자료구조에 대해 정렬, 검색 등등을 수행하는 방법"에 대한 겁니다. 자료구조가 달라지면 알고리즘도 달라지게 되지요. 그래서 보통 "자료 구조를 공부한다"는 말은 "1. 데이터를 구성하는 여러 방법(자료 구조)과 2. 각각의 저장 방법에 대해 가능한 데이터 조작 또는 정보 추출(자료 구조에 대한 연산) 3. 그리고 그런 조작을 수행하는 여러 방법(알고리즘)"에 대해 공부한다는 뜻입니다.

kldpgk의 이미지

감사합니다.. 복받으실꺼예요^^

Anonymous1의 이미지

저의 경우 자료구조를 2학년 때 배우고
알고리즘을 3학년 때 배운 것 같습니다.
물론 자료구조란 과목 자체가 알고리즘을 포함하기도 하지만,
따로 알고리즘이란 강좌가 있어서 자료구조에서 소개된 것보다
심도있는 내용을 배운 기억이 납니다.

kldpgk의 이미지

엄청 어려워서 덮었습니다..

"C로 쓴 자료구조론" 라는 책을 구입하여 ..

보았는데 오늘 2시간정도 보았습니다 너무 어렵더군여;;;....

자료구조 보기전에 따로 보는게 있는지요?

현재 C만 구조체포인터 까지 밖에 아는데 답답하네요;;