tree는 graph의 일종이다
출처 https://www.youtube.com/user/damazzang
DFS : 마지막 노드까지 한 줄기를 따라 먼저 검색, 다음 줄기 끝까지 검색
BFS : 노드의 레벨 별로 먼저 검색, 다음 노드의 노드 검색
DFS : stack 이용
BFS : queue 이용
DFS는 Recursion을 이용하면 훨씬 쉬워진다 그런가
노드가 호출되면 인접 노드를 호출하는데
이 인접 노드의 인접 노드를 호출하고
그 인접 노드의 인접 노드들을 또 호출을 하고..
setGraph(size): 그래프에 size만큼의 버텍스를 추가
getGraph(): 인접 행렬 정보가 담긴 배열을 반환
addEdge(from, to): fromVertex와 toVertex 사이의 간선을 추가
hasEdge(from, to): fromVertex와 toVertex 사이의
간선이 존재하는지 여부를 Boolean으로 반환
removeEdge(from, to): fromVertex와 toVertex 사이의 간선을 삭제
fromVertex = 행
toVertex = 렬
adjMatrix.addVertex(3); // 3x3 행렬 만들기
adjMatrix.addEdge(0, 1); // 0행1열
adjMatrix.addEdge(0, 2); // 0행2열
adjMatrix.addEdge(1, 2); // 1행2렬
/*
TO
0 1 2
0 [0, 1, 1],
FROM 1 [0, 0, 1],
2 [0, 0, 0]
*/
zeroToTwoEdgeExists = adjMatrix.hasEdge(0, 2);
System.out.println(zeroToTwoEdgeExists); // true
boolean oneToZeroEdgeExists = adjMatrix.hasEdge(1, 0);
System.out.println(oneToZeroEdgeExists); // false
자료구조 알고리즘에 대해 여러 유튜브 영상을 보았는데
엔지니어 대한민국이라는 분의 영상이 정말 설명이 잘 되어있었다
이 분 다른 것도 많이 올려주셨음 좋겠는데 더이상 안 올라오는 듯 ㅠㅠ
공익을 위해 유튜브 해주세요 ㅠㅠ