[질문] 자료구조에 대한 지식이 없이 알고리즘 공부가 힘든가요?

불량도ㅐㅈㅣ의 이미지

요번학기 수강신청할때 자료구조1하고 알고리즘을 신청할 계획이였습니다.

아니 근디 자료구조1,2로 나뉜 과목이 자료구조로 2학기로 바뀌었다고 하는군요. ㅡ.ㅡ

그래서 1학기때 자료구조 수업이 없어져서 들을 수가 없습니다.

알고리즘만 들을려고 하니 자료구조 기본 지식이 없이 할려구 하니 겁이 좀 나네요.

강의 계획서에 보니깐 자료구조1,2 수강생만 신청하라고 적혀 있어서리 고민이 좀 됩니다.

하필 왜 올해 바뀌어 가지고..ㅡ.ㅡ

머리가 아프네요.

지금 3학년이라 빨리 끝내고 싶었는데..

자료구조 지식없이 알고리즘 공부가 가능한지 묻고 싶네요.

cjh의 이미지

학교가 어디신지 모르겠지만. 다른 과에서 개설중이라면 거기라도 가서 자료구조부터 먼저 들으세요. 알고리즘은 advanced 자료구조라고 생각하셔도 됩니다.

--
익스펙토 페트로눔

불량도ㅐㅈㅣ의 이미지

다른과에 자료구조와알고리즘1이란 과목이 있긴 있습니다.

정 안되면 2학기때 자료구조 듣고 4학년 1학기때 알고리즘 듣죠 뭐...어쩔 수가 없네요..ㅡ.ㅡ

문근영 너무 귀여워~~

NeoTuring의 이미지

알고리즘==어떤 순서로 요리를 만들것인가?
자료구조==무슨 재료를 얼마나(또는 어떤식으로 분할해서) 사용할것인가?

무슨 재료를 어느정도의 양으로 사용하느냐는 요리 순서를 뒤바꿀 수 있다.
(ex 밀가루 100g의 재료가 있다면 칵테일 만드는 요리법보다는 빵 만드는 요리법을 적용해야 한다.)
반대로 정해진 요리 순서는 재료의 종류와 양을 뒤바꿀 수 있다.
(ex 빵만드는 요리법은 일정한 정도의 밀가루를 필요로 한다.)
이 처럼 음식재료와 요리 순서는 서로에게 의존적인 관계이다.

그리고 여기서 가장 중요한것은 목표와 경제성이다.
우선 만들어야 할 음식의 목표가 정해지면, 무슨 재료를 얼마나 사용해서 어떤 순서로 요리를 만들것인지에 대한 엄청나게 많은 가능한 조합의 수가 나타나는데 이중에서 가능한한 목표로 하는 음식의 요건을 충족시킬 수 있으면서도 가장 적은 요리단계(알고리즘)와 가장 적은 음식재료(자료구조)를 적용할 수 있는 그런 방법을 찾아야 한다. 물론 요리단계와 음식재료를 동시에 가장 작은 정도로 유지시킬 수 없다는것이 현실적인 문제다. 그 양자간의 타협을 보는것이 trade-off 원리다. 그리고 이것은 실제로 음식을 해본자만이 잘 안다.

ydhoney의 이미지

아..정말 커리큘럼을 어떻게 짜는건지..:roll:

저희 학교는 학생들이 배우기 싫다고 때를 써서 어셈이 폐강됐잖아요.

물론 학점도 중요하지만, 교양으로라도 남겨놔야할것이 아닌지;; 쩝~

정태영의 이미지

근데 알고리즘 과목에서.. 자료구조 관련된 뭐 그런 것들에 크게 의존적이진 않을 텐데요.. 사실 자료구조를 공부하다보면 코딩능력이 일취월장하는 효과가 있긴 하지만..

알고리즘 배우면서 코딩한 기억은 없군요 :)
Dynamic Programing 이랑.. 뭐 Greedy approach, backtracking knapsack 같은걸 배웠었는데..

하튼 간단하게 트리랑 큐랑.. 우선순위큐만 어떤 식으로 동작하는지 알면 듣는데 지장은 없을 듯 합니다..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

불량도ㅐㅈㅣ의 이미지

정태영 wrote:
근데 알고리즘 과목에서.. 자료구조 관련된 뭐 그런 것들에 크게 의존적이진 않을 텐데요.. 사실 자료구조를 공부하다보면 코딩능력이 일취월장하는 효과가 있긴 하지만..

알고리즘 배우면서 코딩한 기억은 없군요 :)
Dynamic Programing 이랑.. 뭐 Greedy approach, backtracking knapsack 같은걸 배웠었는데..

하튼 간단하게 트리랑 큐랑.. 우선순위큐만 어떤 식으로 동작하는지 알면 듣는데 지장은 없을 듯 합니다..

그래요?? 생각을 다시 바꿔 볼까나??

문근영 너무 귀여워~~

죠커의 이미지

서울지역에서 우리학교만한 커리큘럼을 가진 학교는 또 없을 겁니다. 컴퓨터 과목이 워낙 없어서 있는 것만 들을려고 해도 인원 때문에 힘든 경우도 종종 있습니다. -_-

내 생각도 자료구조와 상관없이 알고리즘 들어도 된다고 생각합니다. 자료구조의 ㅈ도 알기 전에 알고리즘 책을 봤었는데 특별한 무리는 없더군요.

warpdory의 이미지

자료구조에 대한 이해없이 알거리듬에 관한 걸 듣는다는 건, 미적분적인 지식없이 전자기학에 책을 보겠다.. 는 것과 비슷하리라고 여겨집니다.

어느정도까지는 진척이 있겠지만, 어느순간부터는 딱 멈추죠.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

mach의 이미지

고전을 하나 소개해드리자면,

Quote:

Wirth, Niklaus, Data Structure + Algorithm = Program, Prentice Hall, 1986.

책 제목보고 한번 생각해보세요.
저는 둘사이가 불가분의 관계라고 생각합니다.
어찌 보면 나누어서 볼 것도, 배울것도 아니라, 서로 보완적이라는......

* 볼때 마다 새롭다는...
같은 책이라도 볼때마다 새로운 지식이 다가오지 않을까요?
저는 10년전 책도 가끔 읽어보는데, 저는 새롭더군요.
그때는 간과하기도 했고, 때로 어려워 이해못했던것도 있고....

* 시기가 있다는....
저는 하려고 하는 의지가 충만할때 하는게 좋다고 봅니다.
어렵더라도, 그때 한다면, 나중에 하는것 보다는 얻는게 많았던것 같다는...

Quote:

알고리즘만 들을려고 하니 자료구조 기본 지식이 없이 할려구 하니 겁이 좀 나네요.

기본적인 것이야 혼자서도 충분히 할 수 있을듯하고, 난해한것은 물어서 하면 되겠지요?

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

최종호의 이미지

mach wrote:
고전을 하나 소개해드리자면,
Quote:

Wirth, Niklaus, Data Structure + Algorithm = Program, Prentice Hall, 1986.

책 제목보고 한번 생각해보세요.

옛날 책으로 기억하는데 출판년도가 꽤나 최근(?) 이라 생각했더니
출판년도가 1986년이 아니라 1976년이네요.. ^^
책 제목도 Algorithms + Data Structures = Programs
으로 되어있는데, 이 책 맞죠?

http://www.amazon.com/exec/obidos/ASIN/0130224189/

짝퉁(?)으로
Genetic Algorithms + Data Structures = Evolution Programs

http://www.amazon.com/exec/obidos/ASIN/3540606769

라는 책도 있지요. ^^

신승한의 이미지

저는 http://mitpress.mit.edu/algorithms/ 요걸로 알고리즘을 배웠는데요..
자료구조에 대한 지식이 대단이 많이 필요하지는 않았습니다.
뭐, 이건 뭐고, 저건 뭐고 정도만 알고 있으면 되었었죠.

저희 학교에서 필요로 했던것은..수학적 증명능력이었습니다.
인덕션을 이용해 각 알고리즘의 옳고 그름을 수학적으로 증명하는 것이 주된
목표 였지요...코딩은 한개도 안했습니다...머리로 생각만했지..

학교마다 다르겠지만, 님께서 이미..대략적인 자료구조 밑그림이 그려져 있으시다면, 알고리즘 과목을 수강하셔도 무방 할듯 합니다.

lovethecorners의 이미지

예전학교다닐때, 자료구조는 자바로 수업을 했구 알고리듬은 C++ pseudocode 를 이용했었는데... 다른분들은 어떤언어를 이용해서 수업을 했었는지 궁금합니다. 아, 이런주제가 아니었는데.... :oops:

gurugio의 이미지

전 자료구조/알고리즘시간에 배운

의사코드들은 모두 씨로 코딩해봤습니다.

해보니까 역시 자료구조를 먼저 배워야

좋겠다는 생각이 들었습니다.

그리고 알고리즘들은 외계인이 전수해준거라고

믿게됬습니다.. wink