Your tree output should be of the form: feature 0 == x feature 1 == y feature 2 == z class = + feature 2 == k class = - feature 1 != y class = + feature 0 != x feature 1 == r: class = + feature 1 != r: class = - In addition to this display function, your code should include a function that reads this format, applies it to the data, and prints an output file such as: Test Cases True False + 100 70 5 - 50 45 30 Record your output for Part 1 as: part-1-solution.{c|cpp|java} Source code of your program part-1-solution.txt 1-paragraph report/explanation part-1-train-results.txt Table for full training set (training) part-1-test-results.txt Table for full training set (test) part-1-train-160-results.txt Table for 160 examples (training) part-1-test-160-results.txt Table for 160 examples (test) part-1-train-80-results.txt Table for 80 examples (training) part-1-test-80-results.txt Table for 80 examples (test) part-1-train-40-results.txt Table for 40 examples (training) part-1-test-40-results.txt Table for 40 examples (test) part-1-train-20-results.txt Table for 20 examples (training) part-1-test-20-results.txt Table for 20 examples (test) part-1-train-d3-results.txt Table for max depth 3 (training) part-1-test-d3-results.txt Table for max depth 3 (test) part-1-train-d5-results.txt Table for max depth 5 (training) part-1-test-d5-results.txt Table for max depth 5 (test) part-1-train-d7-results.txt Table for max depth 7 (training) part-1-test-d7-results.txt Table for max depth 7 (test) part-1-curve.txt Learning curve plot