Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- bruteforce
 - Floyd-Warshall
 - 구현
 - 최소신장트리
 - ssafy서울
 - 그래프
 - MST
 - 시뮬레이션
 - 완전탐색
 - 삼성청년SW아카데미
 - web
 - Graph
 - HashMap
 - equals
 - Kruskal
 - spring
 - BFS
 - cycle
 - DFS
 - Integer
 - Web-BackEnd
 - back-end
 - Spring Framework
 - spring-boot
 - java
 - SSAFY
 - Union-FInd
 - ==
 - Disjoint-set
 - Prim
 
													Archives
													
											
												
												- Today
 
- Total
 
목록cycle (1)
devlog
			
			
				Graph : 사이클 검출하기
				
	
	
               
           
					
					
					
					
					
					
						
					
				그래프에서 사이클이 존재하는지 여부는 dfs 를 사용해서 직관적으로 찾을 수 있다. 일반적인 그래프의 코드를 살펴보도록 하자 static void dfs(int v) { visit[v] = true; for(int u : adj[v]) { if(visit[u]) continue; dfs(u); } } v 라는 정점을 기준으로 dfs 를 수행한다고 했을 때 dfs(v) 가 끝나기 전에 v 를 재방문하는 일이 생기면 사이클이 존재함을 알 수 있다. 아래의 코드는 dfs 를 이용한 사이클 존재 여부를 확인하는 코드이다. static boolean cycle = false; static boolean[] visit = new boolean[n+1]; static boolean[] finished = new bo..
				알고리즘/이론
				
				2020. 7. 12. 01:47