2755
2017-07-27 01:42:36
0
핵심적인 아이디어만 외우는거죠. 자료구조에서 말하는 '추상적'이라는 의미로 생각하면 되지 않을까요?
리스트는 어떤 자료형인지, 어떻게 쓰이는지, 그를 위해서 어떤 기능들이 있어야 할지.
스택은 어떤 자료형이고, 어떻게 쓰이며, 어떤 연산이 필요한지.
이런 식으로만 알고 있어도 코드는 필요없이 그때 그때 구현이 가능하죠. 뭐 라이브러리로 만들어놓으면 더 편할거구요.
코드 자체를 외우는건 아무런 의미가 없습니다. 그런식으로 해봐야 그 문제에 맞는 자료구조만 구현 가능할 뿐이죠.
게다가 이해하는게 외우는 것보다 훨씬 쉬우니까요.
다만, 이해만 했다고 다 바로바로 짤 수 있는건 아니고, 이해한걸 바탕으로 직접 구현해보는 연습을 많이 해야 속도가 붙어요. 처음 구현할 때랑 세번째로 구현할 때랑 속도가 다르거든요.
코드가 아니라, 코드 아래에 있는 아이디어를 이해하고 그 아이디어를 직접 구현하는 연습이 진짜 자료구조 연습이 아닐까 싶네요. 알고리즘도 비슷한 맥락으로 공부하는게 좋다고들 알려져있죠.