이번주는 강의와 알고리즘 코딩 문제 풀이 위주로 진행되었다. 스택과 큐, 그리고 해시테이블, 최대 힙을 구현해보았고 이를 사용해 코드카타 문제를 풀어보았다. 아직 연결리스트 부분은.. 제대로 구현하지 못해서 복습이 필요하다. 그리고 배열과 리스트가 계속 헷갈렸는데, 배열(array)와 연결리스트가 리스트에 속하고 배열은 접근이 쉽고 삽입이 어려운 반면, 연결리스트는 접근이 어렵고 삽입이 쉽다는 차이가 있다는 것을 배웠다. (시간복잡도 측면에서 큰 차이가 있어 목적에 맞게 사용하면 된다.) 그리고 흔히 파이썬에서 리스트라고 부르는 것이 배열이라는 것도 알게되었는데 구글링해서 찾은 정보와 강의자료의 정보가 좀 차이가 있어 헷갈렸다. 일단 파이썬에서의 리스트 = 배열이라 생각하면 될 것 같다. 다른 언어에서는 배열과 리스트에 차이가 있다. 배열은 파이썬의 리스트 함수 등을 이용할 수 있지만 연결리스트는 직접 구현해야한다는 차이점도 있다 !
그리고 2주차에서 그래프(인접행렬, 인접리스트 표현)에 대해 학습하고 깊이우선탐색(DFS)과 너비우선탐색(BFS)를 학습했다. 문제에 적용해보며 직접 더 구현해봐야할 필요성이 있다.
이번주에 스쿼드 과제도 전부 다 따라가지 못했고 원한만큼 강의 진도도 나가지 못했다.. 생각보다 코드카타하는 것과 강의 하나 듣고 구현하는 데에 있어 시간을 너무 많이 쓴 것 같은데 주말에 부족한 부분 좀 보충하고 다음주는 완강하는 데 집중하고싶다.