-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
알고리즘 Floyd 과제 #338
Comments
둘 다 재밌는 문제네요 ㅎㅎ 덕분에 재밌게 풀었습니다~ 👍 2번 문제는 다익스트라로 해보려했는데 잘 안됐네요 흑 |
[1]
[2]
|
[1]어떤 부분이 어려운지?플로이드-와샬 알고리즘을 이해하고 있다면 쉽게 해결할 수 있는 문제라고 생각함. 어떻게 해결하는지?본인을 방문하는 경우를 제외한 나머지 케이스를 모두 2차원 배열에 저장하였고, 경로표 역할을 수행하는 2차원 배열을 활용하여 최종 출력 결과를 이끌어냄. 시간복잡도는?모든 정점의 최단거리를 탐색하는 3중 for문을 반복하는 과정은 O(n^3)이며, 이것이 Dominant이므로 최종 시간 복잡도 역시 O(n^3). [2]어떤 부분이 어려운지?양방향 그래프에서 Floyd-Warshall 적용까지는 괜찮았으나, 이를 활용하여 모든 간선이 소멸되는 시간을 유도하는 방법을 떠올리는 데 애를 먹음. 어떻게 해결하는지?가중치가 L인 간선 M이 타는 데 걸리는 시간은 '((시작점 ~ M까지의 시간) + (도착점 ~ M까지의 시간) + 가중치 L) / 2' 로 결과를 유도하여 해결하였습니다. 시간복잡도는?모든 정점의 최단거리를 탐색하는 3중 for문을 반복하는 과정은 O(n^3)이며, 이것이 Dominant이므로 최종 시간 복잡도 역시 O(n^3). |
[1] 어떤 부분이 어려운지? 어떻게 해결하는지? 플로이드 알고리즘에 의해 새롭게 노드 간 최단 거리가 갱신 될 때마다 최초 방문 노드를 갱신해주는 작업으로 해결했고, 따라서, 최초 방문 노드를 저장해주는 배열을 필요해 의해 추가해주었습니다. 시간복잡도는? [2] 어떤 부분이 어려운지? 노드 사이의 간선에서 최장 간선의 연소 시간을 구해줘야 하는 부분(두 노드 사이에 아직 연소 되지 않은 간선이 있는 경우)이 있었는데, 이 과정에서 남은 간선의 길이가 전부 연소하는 시간을 구하기가 어려웠습니다. 어떻게 해결하는지? 먼저, 임의의 경유 노드가 있고 시작 지점, 도착 지점의 노드, 총 3개의 노드가 있다고 할 때, 필요한 것은 임의의 경유 노드와 도착 노드 사이에서 발생하는 연소가 아직 안된 간선이 존재하는 경우에 걸리는 시간을 고려해줘야되고, 이는 두 노드 사이에 최장 간선에서 (시작 시간복잡도는? |
Floyd 파트 관련 과제 (난이도 순서)
필수
[1] [2]
위 문제들을 스터디 시간에 아래와 같은 토론을 진행하겠습니다.
스터디 전까지 모두 풀어와주세요!
스터디 시작 전까지 Issue에 자신만의 답을 남겨주세요!
만약 못풀겠으면, 구글에 검색하더라도 꼭! 풀어와주세요
톡방에 전달 부탁드립니다~
@tjdeo1102 @rkdbq @jys-jeong @bootkorea @tlstmdgjs
The text was updated successfully, but these errors were encountered: