Algorithm/Study

[99클럽 코테 스터디] 📝 Day25. 그래프 2

ioh'sDeveloper 2024. 6. 16. 00:37
99클럽 코테 스터디 25일차 TIL + 그래프

📍 오늘의 학습 키워드

  • 그래프 탐색 (BFS, DFS)
  • 공간 복잡도와 시간 복잡도
  • Java 그래프 구현 및 탐색 알고리즘

📝 공부한 내용 본인의 언어로 정리하기

오늘은 그래프 탐색 알고리즘인 BFS와 DFS에 대해 공부했습니다. BFS는 너비 우선 탐색으로, 큐를 사용해 각 레벨을 차례로 탐색하여 최단 경로를 찾는 데 유용합니다. DFS는 깊이 우선 탐색으로, 스택이나 재귀를 사용해 가능한 깊이까지 탐색하며 경로의 존재 여부를 확인하는 데 효과적입니다. 각 알고리즘의 시간 복잡도와 공간 복잡도도 분석하여, 문제의 요구 사항에 따라 적절한 알고리즘을 선택하는 것이 중요하다는 것을 배웠습니다.

📖 오늘의 회고

📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지

그래프에서 특정 정점에서 다른 정점으로의 경로가 존재하는지 확인하는 문제를 풀 때, 시작 정점과 목표 정점이 같은 경우를 처리하지 않아 오답이 발생했습니다.

BFS를 사용해 문제를 해결하려 했으나, 시작 정점과 목표 정점이 같은 경우를 놓쳐서 에러가 발생했습니다

🤔 어떻게 해결했는지

🔖 참고링크 (https://develop-tracking.tistory.com/99)

🤓 무엇을 새롭게 알았는지

  • 시작 정점과 목표 정점이 같은 경우에는 별도의 처리가 필요하다는 점.
  • BFS와 DFS의 차이점과 각 알고리즘의 장단점.

⏳ 내일 학습할 것은 무엇인지

내일은 그래프 탐색 알고리즘을 더욱 심화하여 공부할 예정입니다. 특히, 최소 스패닝 트리(MST) 알고리즘인 크루스칼(Kruskal)과 프림(Prim) 알고리즘에 대해 공부하고, 이를 통해 그래프의 최적 경로를 찾는 문제를 해결해 볼 계획입니다.