diff --git "a/1\354\243\274\354\260\250/\354\236\204\352\262\275\354\231\204/BFSDFS" "b/1\354\243\274\354\260\250/\354\236\204\352\262\275\354\231\204/BFSDFS" new file mode 100644 index 0000000..42cf779 --- /dev/null +++ "b/1\354\243\274\354\260\250/\354\236\204\352\262\275\354\231\204/BFSDFS" @@ -0,0 +1,122 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.Queue; +import java.util.StringTokenizer; + +public class Main { + + public static void main(String[] args) { + try { + new BFSDFS(); + }catch(IOException e) { + e.printStackTrace(); + } + } + +} +class BFSDFS{ + private int nodeNum; + private int linkNum; + private int startNode; + private Node[] nodes; + private boolean[] isVisited; + public BFSDFS() throws IOException{ + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + nodeNum = Integer.parseInt(st.nextToken()); + linkNum = Integer.parseInt(st.nextToken()); + startNode = Integer.parseInt(st.nextToken()); + + nodes = new Node[nodeNum]; + isVisited = new boolean[nodeNum]; + for(int i = 0; i queue = new LinkedList<>(); + queue.add(node); + isVisited[node.getData()-1] = true; + while(!queue.isEmpty()) { + node = queue.poll(); + System.out.print(node.getData()+ " "); + for(int i = 0; i linkedNode; + public Node(int a) { + data = a; + linkedNode = new ArrayList<>(); + } + + public void addLinkdedNode(Node node) { + linkedNode.add(node); + } + + public int getData() { + return data; + } + + public void setData(int data) { + this.data = data; + } + + public ArrayList getLinkedNode() { + return linkedNode; + } + + public void sort() { + linkedNode.sort(new Comparator() { + public int compare(Node a, Node b) { + return a.getData()-b.getData(); + } + }); + } +}