1. 다시 자료 구조 공부를 시작.
이전에 선형 자료구조까지만 공부하고 잠시 멈췄다.
오늘 트리를 보면서 비선형 자료구조에 오니까 뭔가 느낌이 확실히 달라졌다.
이전까지 데이터의 저장, 조회, 삭제의 CRUD의 개념만 익혀왔다면, 트리부터는 표현에 중점을 둔다는 것.
처음으로 책만 본 것이 아니라 저자의 강의도 들어가면서 공부를 한 것 같다.
오늘 트리를 끝내겠다는 생각으로 책을 봤지만, 결국 끝까지 못봤다.
수식 트리에서 이전에 사용했던 스택 계산기의 개념이 다시 나왔기 때문이다.
스택에 대한 구현만 하고 응용 부분은 그냥 건너뛰었었는데, 오늘 급한대로 코드를 구현하면서 이해했다.
예전 학부생 때 스택 계산기를 구현할 때와 지금 구현할 때의 마음가짐이 달라서 그랬을까.
확실히 코드가 다르게 보였다.
2. 코드를 쓰면서 그냥 두루뭉술하게 넘기던 부분들도 하나하나 세심하게 보게 됐다.
오늘 트리를 구현하면서 typedef을 이용한 함수 포인터 부분을 보고 이해가 안됐었다.
그래서 저자의 강의를 보기도 했고, 구글을 통해서 찾아보면서 더 많은 이해를 할 수 있었다.
그 예로 typedef void VisitFuncPtr (Bdata data)라는 함수 포인터를 사용하는 부분이 있었다.
나는 함수 포인터를 정의할 때는 void (*VisitFuncPtr)(Bdata data)와 같은 형태로만 쓰는 줄 알고 있었고.
그래서 관련된 정보를 찾아보고 강의를 들으면서 이해할 수 있었던 부분이다.
나중에 이건 따로 글로 정리할 수 있으면 기회를 갖고 정리해둘까 싶다.
3. 아직 C++ 문법이나 객체지향에 대한 개념이 잘 잡히지 않았음을 느꼈다.
이전에 C로 구현했던 배열 기반 리스트를 C++로 바꿔서 작성을 하고 여기에 올렸었다.
이걸 클래스로 바꾸고 기존의 함수를 멤버함수로 바꾸는 과정이 맵핑이 잘 안돼서 시간이 꽤나 걸렸다.
아무래도 이런걸 해본 경험이 없다보니 어려움을 겪은 것이라고 생각한다.
하지만 C++에는 익숙해져야 하고, 반드시 해야하는 일을 지금부터 하는 것이라 생각한다.
계속 하다보면 실력은 늘 것이라는 생각으로 임해야겠다.
4. 학원 개강까지 45일이 남았다.
거기서 추천해줬던 책을 다 읽고 갈 수 있을까는 나도 잘 모르겠다.
하지만 힘 닿는데까지는 최대한 공부해서 그곳에서 가르치는 내용을 따라가고 싶다는 생각은 여전하다.
매일마다 뭔가 하고는 있는데 이게 정량적으로 확인할 방법이 없어서 항상 불안하기도 하다.
그래도 나아가고 있다는 생각으로 공부를 하고 있다.
가끔보면 뭔가 새로운 시각에서 보일 때도 있을때 내가 공부를 하긴 했구나라는 생각이 들 때도 있으니까.