프로그래머스 프론트엔드 데브 코스 프론트엔드 과정의 기록입니다.
트리의 개념을 이해하며 각각의 자료구조들을 구현해보았다.
트리의 너비우선탐색의 순회 방식 이름이 레벨 순회라는 점을 알게 되었다. 그동안 그냥 너비우선탐색 이라고 인지하고 있었는데 너비우선탐색과 깊이우선탐색의 순회 방식에 대해 좀 더 명확하게 정리가 되었다.
이진 탐색 트리를 구현해보며 트리의 생성과 삭제, 그리고 탐색을 공부하며 dfs와 bfs를 다시 한 번 공부하게 되었다. 트리의 노드의 삭제와 관련된 부분이 아직까지 미숙하다고 느껴진다. 개념은 명확히 이해가 가는데 코드로 구현하는데에서 어려움이 느껴져서 그런 것 같다. 그래도 예전에 처음 구현하였을 때 보다는 더 능숙해졌다. 그리고 이진 탐색 트리가 편향된 트리가 되었을 때의 문제점을 해결하기 위한 AVL트리와, 레드-블랙 트리가 나에게 생소하여 자세히 알고싶어졌다.
힙을 반복문과 재귀로 구현하는 방법에 대해서 공부하였으며 이진 탐색 트리와 힙을 모두 구현해보니 개인적으로 재귀를 통한 트리의 구현이 뭔가 더 직관적으로 코드들이 이해가 되는 것 같았다. 그리고 우선 순위 큐는 힙이다라는 잘못된 개념을 가지고 있었는데 우선 순위 큐의 개념을 가장 효율적으로 나타낼 수 있는 자료구조가 힙이라는 점을 깨닫게 되었다.
트라이를 해시 테이블 개념을 활용하여 구현하였는데 Object객체와, Map 객체를 활용하여 각각 구현해보았으며 Object와 Map의 비슷한 기능을 하지만 차이점에 대하여 더 공부할 수 있어서 좋았습니다. 그리고 자동완성기능의 기초 자료구조 알고리즘을 내가 구현해보며 개발에 대한 흥미와 자신감이 더욱 올라서 좋았습니다.
코딩테스트 대비 알고리즘 문제 풀기
CS 스터디 발표 자료 정리하기.
트리의 중위, 전위, 후위 순회 다시 복습 후 구현하기.
트라이 자동완성기능 구현 코드 리펙토링 하기.