99클럽 코테 스터디 25일차 TIL + 그래프
📍 오늘의 학습 키워드
- 그래프 탐색 (BFS, DFS)
- 공간 복잡도와 시간 복잡도
- Java 그래프 구현 및 탐색 알고리즘
📝 공부한 내용 본인의 언어로 정리하기
오늘은 그래프 탐색 알고리즘인 BFS와 DFS에 대해 공부했습니다. BFS는 너비 우선 탐색으로, 큐를 사용해 각 레벨을 차례로 탐색하여 최단 경로를 찾는 데 유용합니다. DFS는 깊이 우선 탐색으로, 스택이나 재귀를 사용해 가능한 깊이까지 탐색하며 경로의 존재 여부를 확인하는 데 효과적입니다. 각 알고리즘의 시간 복잡도와 공간 복잡도도 분석하여, 문제의 요구 사항에 따라 적절한 알고리즘을 선택하는 것이 중요하다는 것을 배웠습니다.
📖 오늘의 회고
📚 어떤 문제가 있었고, 나는 어떤 시도를 했는지
그래프에서 특정 정점에서 다른 정점으로의 경로가 존재하는지 확인하는 문제를 풀 때, 시작 정점과 목표 정점이 같은 경우를 처리하지 않아 오답이 발생했습니다.
BFS를 사용해 문제를 해결하려 했으나, 시작 정점과 목표 정점이 같은 경우를 놓쳐서 에러가 발생했습니다
🤔 어떻게 해결했는지
🔖 참고링크 (https://develop-tracking.tistory.com/99)
🤓 무엇을 새롭게 알았는지
- 시작 정점과 목표 정점이 같은 경우에는 별도의 처리가 필요하다는 점.
- BFS와 DFS의 차이점과 각 알고리즘의 장단점.
⏳ 내일 학습할 것은 무엇인지
내일은 그래프 탐색 알고리즘을 더욱 심화하여 공부할 예정입니다. 특히, 최소 스패닝 트리(MST) 알고리즘인 크루스칼(Kruskal)과 프림(Prim) 알고리즘에 대해 공부하고, 이를 통해 그래프의 최적 경로를 찾는 문제를 해결해 볼 계획입니다.
'알고리즘 & 자료구조 > 스터디 (Algorithm Study)' 카테고리의 다른 글
[99클럽 코테 스터디] 📝 Day27. 배열 2 (실패) (0) | 2024.06.16 |
---|---|
[99클럽 코테 스터디] 📝 Day26 배열 (0) | 2024.06.16 |
[99클럽 코테 스터디] 📝 Day24. 그래프 (0) | 2024.06.16 |
[99클럽 코테 스터디] 📝 Day23. 이진탐색 2 (0) | 2024.06.11 |
[99클럽 코테 스터디] 📝 Day22. 이분탐색 (0) | 2024.06.10 |