본문으로 건너뛰기

알고리즘과 자료구조에 대한 가이드

배영수님의 도움으로 코틀린 코드가 추가되었습니다. 감사합니다!



개발 실력 자체를 키우기 위한 여정​

2025년 새해를 맞이하고 첫 목표를 세웠습니다.

개발, 그 본질에 집중하자. 코딩 실력을 키우자.

개발자의 가장 큰 본질은 '개발'입니다. 그런데, 어느 순간부터 개발 그 자체보다는 잡다한 것에 신경을 쓰기 시작한 것 같습니다.

중2병 개발자라는 말이 있습니다.

개발 그 자체를 할 수 있을 것처럼 말하는데, 결과물은 없는 그런 개발자를 의미합니다.

그러지 않기 위해, 더 나은 개발자가 되기 위해서 알고리즘과 자료구조에 대한 공부를 시작했습니다.

그리고, 새해에는 이에 능한 개발자가 되는 것을 목표로 삼기로 했습니다.

알고리즘과 자료구조에 대한 가이드​

어떻게 보면, 자료구조와 알고리즘에 대한 정리입니다.

그런데 저는 이를 가이드 형식으로 정리하고자 합니다.

이유는 다음과 같습니다.

  1. 전공 공부까지 했는데도, 자료구조/알고리즘이 명확하게 이해되지 않은 데에는 너무 어렵게 접근한 게 컸습니다.
  2. 이를 가이드 형식으로 정리하면, 나만의 방식으로 이해하고, 다른 사람에게도 설명할 수 있을 것입니다.
  3. 밋업 개최 경험을 통해서 누군가에게 설명하는 게 가장 빠르게 지식을 습득하는 방법이라는 것을 깨달았습니다.

어떻게 진행할 것인가?​

  1. 빅오 표기법
  2. 빈도수 세기
  3. 다중 포인터 패턴
  4. 슬라이딩 윈도우
  5. 재귀
  6. 검색
  7. 정렬
  8. 연결 리스트
  9. 스택 + 큐
  10. 이진 트리
  11. 트리 순회 (BFS / DFS)
  12. 이진 힙
  13. 해시
  14. 그래프
  15. 그래프 순회
  16. 다익스트라 최단거리 알고리즘
  17. 동적 프로그래밍

위와 같은 순서로 정리하면서 진행하고자 합니다.

문제 풀이도 중요한데, 이에 대해서는 따로 정리할 예정입니다.

참고 사항​

본 가이드의 예제는 자바스크립트/코틀린으로 작성되어 있습니다.

다만, 알고리즘과 자료구조에 대한 내용이므로, 언어에 대한 의존성은 없습니다. 설명에 자바스크립트/코틀린을 사용하고 있다 정도로 이해하면 됩니다.

또한, 이 가이드는 개인적인 공부를 위한 것이므로, 틀린 내용이 있을 수 있습니다. 틀린 내용이 있다면, 언제든지 댓글을 남겨주면 바로 수정하도록 하겠습니다.SeriesSeriesCategory: SeriesSeriesSeries @site/docs/skills/tutorial/utils