알고리즘과 자료구조에 대한 가이드
개발 실력 자체를 키우기 위한 여정
2025년 새해를 맞이하고 첫 목표를 세웠습니다.
개발, 그 본질에 집중하자. 코딩 실력을 키우자.
개발자의 가장 큰 본질은 '개발'입니다. 그런데, 어느 순간부터 개발 그 자체보다는 잡다한 것에 신경을 쓰기 시작한 것 같습니다.
중2병 개발자라는 말이 있습니다.
개발 그 자체를 할 수 있을 것처럼 말하는데, 결과물은 없는 그런 개발자를 의미합니다.
그러지 않기 위해, 더 나은 개발자가 되기 위해서 알고리즘과 자료구조에 대한 공부를 시작했습니다.
그리고, 새해에는 이에 능한 개발자가 되는 것을 목표로 삼기로 했습니다.
알고리즘과 자료구조에 대한 가이드
어떻게 보면, 자료구조와 알고리즘에 대한 정리입니다.
그런데 저는 이를 가이드 형식으로 정리하고자 합니다.
이유는 다음과 같습니다.
- 전공 공부까지 했는데도, 자료구조/알고리즘이 명확하게 이 해되지 않은 데에는 너무 어렵게 접근한 게 컸습니다.
- 이를 가이드 형식으로 정리하면, 나만의 방식으로 이해하고, 다른 사람에게도 설명할 수 있을 것입니다.
- 밋업 개최 경험을 통해서 누군가에게 설명하는 게 가장 빠르게 지식을 습득하는 방법이라는 것을 깨달았습니다.
어떻게 진행할 것인가?
- 빅오 표기법
- 빈도수 세기
- 다중 포인터 패턴
- 슬라이딩 윈도우
- 재귀
- 검색
- 정렬
- 연결 리스트
- 스택 + 큐
- 이진 트리
- 트리 순회 (BFS / DFS)
- 이진 힙
- 해시
- 그래프
- 그래프 순회
- 다익스트라 최단거리 알고리즘
- 동적 프로그래밍
위와 같은 순서로 정리하면서 진행하고자 합니다.
문제 풀이도 중요한데, 이에 대해서는 따로 정리할 예정입니다.
참고 사항
본 가이드는 자바스크립트를 기반으로 하고 있습니다.
다만, 알고리즘과 자료구조에 대한 내용이므로, 언어에 대한 의존성은 없습니다. 설명에 자바스크립트를 사용하고 있다 정도로 이해하면 됩니다.
또한, 이 가이드는 개인적인 공부를 위한 것이므로, 틀린 내용이 있을 수 있습니다. 틀린 내용이 있다면, 언제든지 댓글을 남겨주면 바로 수정하도록 하겠습니다.