The description is provided in the file below, So that will be your entire guide during the process. The code should be done in java. I would like this done by this week Wednesday.
A lot of the code/s are already done for you, so it's not that long. You just have to do the "complete this method" sections.
KEEP IN MIND:Be cautious of the "DO NOT" criteria that I outlined in the description file.
Description and files needed/Undirected folder/undirected2.txt 9 2 4 5 3 2 3 6 2 1 3 2 1 2 2 0 6 2 0 6 3 1 4 5 1 8 1 7 Description and files needed/mutant folder/mutant2.txt 5 9 baa abcd cab eba eca cba daa abb bcd Description and files needed/mutant folder/mutant1.txt 5 9 baa abc abca cabe cad eba ecada dba daae Description and files needed/unweighted folder/unweighted1.txt 7 3 1 3 4 3 0 2 3 2 1 3 4 0 1 2 6 2 0 5 2 4 6 2 3 5 Description and files needed/Undirected folder/undirected1.txt 8 3 4 5 6 2 2 3 2 1 3 2 1 2 2 0 6 2 0 6 3 0 4 5 0 Description and files needed/unweighted folder/unweighted2.txt 7 2 1 3 3 0 2 3 2 1 3 4 0 1 2 5 3 0 5 6 1 3 1 4 Description and files needed/mutant folder/mutant3.txt 7 14 baa dbbb dbac dbacd abcd aade faab feabc cab caef gdfg gagfr ea eae Description and files needed/(2) ExpectedOutput.pdf *** Test Mutant Language 1 *** Alphabet order: [b, a, c, e, d] *** Test Mutant Language 2 *** Unfortunately, this language has circular dependency. *** Test Mutant Language 3 *** Alphabet order: [b, d, a, f, c, g, e] *** Test BFS on UnweightedGraph 1 *** Level array (from v0): [0, 1, 2, 1, 1, 2, 2] Level array (from v1): [1, 0, 1, 1, 2, 3, 2] Level array (from v2): [2, 1, 0, 1, 3, 3, 2] Level array (from v3): [1, 1, 1, 0, 2, 2, 1] Level array (from v4): [1, 2, 3, 2, 0, 1, 2] Level array (from v5): [2, 3, 3, 2, 1, 0, 1] Level array (from v6): [2, 2, 2, 1, 2, 1, 0] *** Test BFS on UnweightedGraph 2 *** Level array (from v0): [0, 1, 2, 1, infty, 2, infty] Level array (from v1): [1, 0, 1, 1, infty, 2, infty] Level array (from v2): [2, 1, 0, 1, infty, 2, infty] Level array (from v3): [1, 1, 1, 0, infty, 1, infty] Level array (from v4): [1, 2, 3, 2, 0, 1, 1] Level array (from v5): [2, 2, 2, 1, infty, 0, infty] Level array (from v6): [2, 3, 4, 3, 1, 2, 0] *** Test Transitive Closure on UnweightedGraph 1 *** [true, true, true, true, true, true, true] [true, true, true, true, true, true, true] [true, true, true, true, true, true, true] [true, true, true, true, true, true, true] [true, true, true, true, true, true, true] [true, true, true, true, true, true, true] [true, true, true, true, true, true, true] *** Test Transitive Closure on UnweightedGraph 2 *** [true, true, true, true, false, true, false] [true, true, true, true, false, true, false] [true, true, true, true, false, true, false] [true, true, true, true, false, true, false] [true, true, true, true, true, true, true] [true, true, true, true, false, true, false] [true, true, true, true, true, true, true] *** Test Transitive Closure on UndirectedGraph 1 *** [true, false, false, false, true, true, true, false] [false, true, true, true, false, false, false, false] [false, true, true, true, false, false, false, false] [false, true, true, true, false, false, false, false] [true, false, false, false, true, true, true, false] [true, false, false, false, true, true, true, false] [true, false, false, false, true, true, true, false] [false, false, false, false, false, false, false, true] *** Test Transitive Closure on UndirectedGraph 2 *** [true, true, true, true, true, true, true, false, false] [true, true, true, true, true, true, true, false, false] [true, true, true, true, true, true, true, false, false] [true, true, true, true, true, true, true, false, false] [true, true, true, true, true, true, true, false, false] [true, true, true, true, true, true, true, false, false] [true, true, true, true, true, true, true, false, false] [false, false, false, false, false, false, false, true, true] [false, false, false, false, false, false, false, true, true] *** Test DFS on UnweightedGraph 1 *** Level array (from v0): [0, 6, 5, 4, 1, 2, 3] Level array (from v1): [5, 0, 2, 1, 4, 3, 2] Level array (from v2): [5, 6, 0, 1, 4, 3, 2] Level array (from v3): [4, 5, 6, 0, 3, 2, 1] Level array (from v4): [6, 5, 4, 3, 0, 1, 2] Level array (from v5): [5, 4, 3, 2, 6, 0, 1] Level array (from v6): [3, 6, 5, 4, 2, 1, 0] *** Test DFS on UnweightedGraph 2 *** Level array (from v0): [0, 3, 2, 1, infty, 2, infty] Level array (from v1): [2, 0, 2, 1, infty, 2, infty] Level array (from v2): [3, 2, 0, 1, infty, 2, infty] Level array (from v3): [3, 2, 1, 0, infty, 1, infty] Level array (from v4): [5, 4, 3, 2, 0, 1, 1] Level array (from v5): [4, 3, 2, 1, infty, 0, infty] Level array (from v6): [6, 5, 4, 3, 1, 2, 0] *** Test Component Counter on UndirectedGraph 1 *** Number of components is 3 *** Test Component Counter on UndirectedGraph 2 *** Number of components is 2 *** Test Tree Traversals *** Pre-order Traversal: 22 8 14 0 6 5 70 20 11 16 24 8 20 In-order Traversal: 0 14 5 6 70 8 20 11 22 24 16 8 20 Post-order Traversal: 0 5 70 6 14 11 20 8 24 20 8 16 22 *** Test Rotated Array *** Array is: [8, 10, 14, 17, 19, 21, 1, 3, 5, 6] Maximum is at index: 5 Key 8 found at index 0 Key 9 not found Key 13 not found Key 14 found at index 2 Key 15 not found Key 17 found at index 3 Key 18 not found Key 19 found at index 4 Key 20 not found Key 21 found at index 5 Key 24 not found Key 1 found at index 6 Key 2 not found Key 3 found at index 7 Key 4 not found Key 5 found at index 8 Key 6 found at index 9 Key 7 not found Key 9 not found Key 10 found at index 1 Key 12 not found Array is: [10, 1, 5, 7] Maximum is at index: 0 Key 8 not found Key 10 found at index 0 Key 12 not found Key 0 not found Key 1 found at index 1 Key 3 not found Key 5 found at index 2 Key 6 not found Key 7 found at index 3 Key 9 not found Array is: [12, 1, 5, 7, 10, 11] Maximum is at index: 0 Key 8 not found Key 10 found at index 4 Key 11 found at index 5 Key 12 found at index 0 Key 0 not found Key 1 found at index 1 Key 3 not found Key 5 found at index 2 Key 6 not found Key 7 found at index 3 Key 9 not found Array is: [12, 10, 11] Maximum is at index: 0 Key 8 not found Key 10 found at index 1 Key 11 found at index 2 Key 12 found at index 0 Key 15 not found Array is: [12, 1] Maximum is at index: 0 Key 0 not found Key 1 found at index 1 Key 4 not found Key 12 found at index 0 Key 14 not found Description and files needed/(1) Description (1).pdf (Topological Sorting, Breadth First Search, Depth First Search, and Recursion) 1: Overview We are going to: ● Use Topological Sorting to help mutants. ● Implement Breadth First Search, and use it to compute the transitive closure. ● Implement Depth First Search, and use it to count the number of components. ● Use recursion for various problems. To this end, your task is to implement the following methods: ● readLanguage, makeGraph, and getOrder in MutantLanguage.java ● execute, and computeTransitiveClosure in BFS.java ● init, run, execute, and countComponents in DFS.java ● preOrder, inOrder, postOrder, rotatedBinarySearch, and maxIndex in Recursion.java The project also contains additional files (which you do not need to modify). Use TestCorrectness.java to test your code. For each part, you will get an output that you can match with the output I have given to verify whether your code is correct, or not. Output is provided separately in the ExpectedOutput file. Should you want, you can use www.diffchecker.com to tally the output. 2: Java In-built Linked List We will use the inbuilt linked-list of Java. This is an implementation of a doubly-linked-list (with links going both forward and backward). It supports all the standard operations (inserting at front or end, deleting head or tail, traversing the list, etc.) I’ll highlight some of the usages (not