(지극히 개인적인 의견입니다)
저는 개인적으로 C로 하시는 걸 추천 드립니다. (단, C만이 갖는 문법적 특성에 익숙하다는 가정 하에)
'공부 목적'으로 데이터 구조를 공부하는 거라는 걸 떠올려야 합니다. 임의의 자료구조가 갖는 특성을 직접 손으로 구현해보며 원리에 대해 보다 깊은 이해를 얻는데에 목적을 둬야 한다는 것이죠.
단순히 라이브러리에 있는 자료구조를 가져다 쓰는 것은 몇 번 써보다 보면 금방 익숙해져서 누구나 사용할 수 있습니다. 그러나 알고 쓰는 것과 모르고 쓰는 것은 결국 티가 나기 마련입니다. 한계또한 분명하죠.
물론 라이브러리에 있는 것을 적재적소에 끌어다 쓰는 것 또한 능력일 테지만, 어디까지나 '공부 목적'으로 데이터 구조를 공부하는 것이니까요.
이에 더없이 어울리는 언어가 바로 C언어 입니다. 이왕 하는거 내 손으로 직접 특정 자료구조를 만들어 내 보는 게 좋지 않을까요 ?
특히 포인터를 이용해 메모리 단위로 생각해보며 구현하게 되는데, 말그대로 해당 자료구조의 동작 과정을 그대로 구현하게 됩니다. 익숙치 않다면 만만치 않긴 하지만요. (포인터랑 강제로 친해질 수 있는 절호의 기회 ㄷㄷ)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
이제 위 내용은 공부 목적에 한해서고 (물론 굉장히 중요한 경험이 됨), ps나 기타 상황에선 이미 잘 구현되어 있는 라이브러리를 필요에 맞게 가져다 쓰는 것이 좋겠죠. 문제 하나 풀 때마다 문제 로직 짜기도 전에 자료구조 구현하는데에 힘 쓰고 있으면 그건 미련한 거니까요.
swyjs 1년 전
수업은 C하고 자바 두개가 개설되어있습니다.
C로 자료구조하면 빡셀거같긴한데... 그런거 상관안쓰고 최대한 미래에 도움되는 언어로 하고 싶습니다
(현재 전 파이썬으로 문제를 풀고 있습니다)
고수님들 조언 부탁드립니다... 수업고르는데 참고하고 싶습니다!