void inOrderTraversal(Node node){
if(node != null){
inOrderTraversal(node.left);
cout << node.data << "\n";
inOrderTraversal(node.right);
}
}
```java
void preOrderTraversal(Node node){
if(node != null){
cout << node.data << "\n";
preOrderTraversal(node.left);
preOrderTraversal(node.right);
}
}
```
```java
void postOrderTraversal(Node node){
if(node != null){
postOrderTraversal(node.left);
postOrderTraversal(node.right);
cout << node.data << "\n";
}
}
```
DFS를 이용한 방법
```java
bool findCycleAlgorithm(int here) {
if (visitied[here]) {
if (visitied[here] == -1) {
return true;
}
return false;
}
visitied[here] = -1;
for (int there : node[here]) {
if (findCycleAlgorithm(there)) {
return true;
}
}
visitied[here] = 1;
return false;
```
Union Find 이용