2급비밀문서
30
2019-11-23 01:04:35
3
192

자료구조 학습 질문


안녕하세요 선생님들

저는 지금 대학교 1학년 컴퓨터공학과에 재학중인 학생입니다.

학교에서 2학기 과목으로 자료구조 수업을 듣고 있는데 수업 시간에 연결리스트나 이진탐색트리 같은 내용들을 이론적으로는 빠르게 이해를 하는데 프로그래밍 언어로 구현을 못하겠어서 엄청나게 스트레스를 받고 있습니다.

계속 고민을 하다가 결국 구현을 못해서 구글에 검색을 해서 코드들을 보면 그냥 감탄만 나오고 나는 저렇게 못짤것같은데 라는 생각과 결국 구글 없이는 이런 간단한 코드도 못짜는 구나 하는 생각이 들어 의욕이 자꾸 떨어지고 회의감이 느껴집니다.

도대체 어떻게 자료구조를 학습해야 효율적으로 할 수 있을까요??



0
0
  • 답변 3

  • __jj__
    391
    2019-11-23 11:16:41

    아무리 잘하는 개발자도 처음부터 그렇게 긴 코드를 만들어내지 못합니다. 머리속에서 100줄 이상의 코드를 생각해가면서 줄줄 짜낸다? 20년 개발자인 저도 불가능 하죠.

    작은 부분부터 시작해서 검증하고 점점 범위를 늘려가며 살을 붙여가는 겁니다.

    2진 트리 검색을 구현한다면 일단 2개 노드 정도에서 검색하는 코드를 먼저 짜 봅니다. 그리고 그것이 성공하면 노드를 4개 10개 늘려보고 그다음 개수에 상관없이?를 생각해 보는 거죠.

    리스트도 일단 두개의 리스트부터 짜보세요. 두개의 리스트에서 NEXT를 찾는 거. PREV 찾는거. 그다음은 3개, 4개6개 10개.. 연결이죠.그렇게 하다보면 공통적으로 반복되는 코드가 보이고 반복부분을 함수로 빼내면 무한대의 적용이 가능해지는 거죠.


    1
  • 2급비밀문서
    30
    2019-11-23 12:17:49

    답변 감사드립니다 ㅠㅠ

    말씀하신 살을 붙여 나가는 과정에서 너무 힘들어서 제가 글을 작성한 것 같네요.

    작은 부분부터 시작해서 검증해서 범위를 늘려나가는 것 까지는 여태까지 별 탈이 없었는데

    예외처리를 해야하는 경우를 마주칠때 마다 좌절하는 경우가 많습니다.

    이 경우는 다른 문제라고 보면 될까요??

    0
  • __jj__
    391
    2019-11-23 13:17:35

    그냥 익숙하지 않아 힘든겁니다.

     예외처리는 항상 개발자에겐 허들과 같습니다. 내가 미리 예측하지 않고 그냥 무시하려 하면 넘어지게 되거든요.

    그냥 목표만 보고 곧장 가고 싶은데 군데 군데 그리고 아주 믾이 있어서 귀찮게 하죠.

    그런데 많은 프로그램의 버그들이 바로 이 예외처리를 제대로 하지 않아서 발생합니다. 보다 많은 예외상황을 예측하고 처리해 두면 그만큼 완성도 높고 안정적인 프로그램이 탄생하죠. 그러니 예외상황을 예측하고 처리하는 모든 과정이 훌륭한 개발자가 되어 가는 과정이라고 받아들이시면 좋겠습니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.