package test_kepler;
public class Treeandgraph {
class Node
{
public Node left_child;
public Node right_child;
public String data;
public Boolean isvisted;
public Node()
{
left_child = null;
right_child = null;
data = null;
isvisted = false;
}
};
Node buildTree()
{
Node root = new Node();
root.data = "root";
Node t1 = new Node();
t1.data = "t1";
Node t2 = new Node();
t2.data = "t2";
Node t3 = new Node();
t3.data = "t3";
Node t4 = new Node();
t4.data = "t4";
Node t5 = new Node();
t5.data = "t5";
root.left_child = t1;
root.right_child = t2;
t1.left_child = t3;
t1.right_child = t4;
t2.left_child = t5;
return root;
}
//head - right - left;
static void traverse_pre_order(Node nd)
{
if(nd != null)
{
System.out.print(nd.data+" ->> ");
traverse_pre_order(nd.right_child);
traverse_pre_order(nd.left_child);
}
}
static void DFS(Node nd)
{
nd.isvisted = true;
System.out.print(nd.data+" ->> ");
if(nd!=null)
{
if(nd.left_child!=null && nd.left_child.isvisted == false)
{
DFS(nd.left_child);
}
if(nd.right_child!=null && nd.right_child.isvisted == false)
{
DFS(nd.right_child);
}
}
}
public static void BFS(Node root)
{
qbytwostc testq = new qbytwostc<Node>();
testq.enQueue(root);
while(!testq.isEmpty())
{
Node getout = (Node) testq.dequeue();
if(getout.isvisted == false)
{
getout.isvisted = true;
System.out.print(getout.data+" ->> ");
if(getout.right_child!=null)
{
testq.enQueue(getout.right_child);
}
if(getout.left_child!=null)
{
testq.enQueue(getout.left_child);
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Treeandgraph tg = new Treeandgraph();
Node root = tg.buildTree();
traverse_pre_order(root);
System.out.println("this is the DFS");
BFS(root);
}
}