하나의 정점에 연결되어 있는 간선의 개수를 뜻합니다.
예를 들면 1-5, 2-5, 4,5 정점간의 간선으로 이루어진 그래프가 있다고 생각하겠습니다.
지금 현재 5번 정점과 연결되어 있는 간선의 개수는 3개가 됩니다. 즉, Degree차수의 값이 3개라고 생각하시면 됩니다.
/* Queue는 LinkedList 로 선언되어야한다 DFS 진행시 반드시 ArrayList나 LinkedList에 대한 값을 초기화 시켜주어야한다. */ publicclass 인접행렬 { staticboolean[] check; staticint[][] A; staticint n; staticint m; staticint start; publicstaticvoidmain(String[] args)throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " ");
n = Integer.parseInt(st.nextToken()); m = Integer.parseInt(st.nextToken()); start = Integer.parseInt(st.nextToken());
check = newboolean[n+1]; A = newint[n+1][n+1]; for(int i=0; i<m; i++){ st = new StringTokenizer(br.readLine(), " "); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); A[x][y] = 1; A[y][x] = 1; } //인접행렬시에는 정렬이 필요 없다!! 인접리스트만 필요하다. //자식이 여러개라면 노드 번호가 작은 것 먼저 방문하므로 오름차순으로 정렬 dfs(start); Arrays.fill(check,false); System.out.println(); bfs(start); } staticvoiddfs(int x){ check[x] = true; System.out.print(x + " ");
/* Queue는 LinkedList 로 선언되어야한다 DFS 진행시 반드시 ArrayList나 LinkedList에 대한 값을 초기화 시켜주어야한다. */ publicclassDFSBFS_LIST1260{ staticboolean[] check; static ArrayList<ArrayList<Integer>> A = new ArrayList<>(); staticint n; staticint m; staticint start; publicstaticvoidmain(String[] args)throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " ");
n = Integer.parseInt(st.nextToken()); m = Integer.parseInt(st.nextToken()); start = Integer.parseInt(st.nextToken()); check = newboolean[n+1];