Implement Graphs Topological Sort in C Worksheet
Topics: Graphs, topological sort, freedom to decide how to represent data and organize code (while still reading in a graph and performing topological sort)Plagiarism/collusion: You should not read any code (solution) that directly solves this problem (e.g. implements DFS, topological sorting or other component needed for the homework). The graph representation provided on the Code page and the pseudocode and algorithm discussed in class provide all the information needed. If anything is unclear in the provided materials check with us. You can read materials on how to read from a file, or read a Unix file or how to tokenize a line of code, but not in a sample code that deals with graphs or this specific problem. E.g. you can read tutorials about these topics, but not a solution to this problem (or a problem very similar to it). You should not share your code with any classmate or read another classmate’s code.You are allowed to use in your solution any of the code posted on our class Code webpage.Given a list of courses and their prerequisites, compute the order in which courses must be taken so that when taking a course, all its prerequisites have already been taken.Provided files:Submit only courses_graph.c (or courses_graph_easy.c)Your program should be named courses_graph.c if it reads from the normal/original files. If instead it reads from the ‘easy’ files, name it courses_graph_easy.cIMPORTANT: Pay close attention to all specifications on this page, including file names and submission format. Even in cases where your answers are correct, points will be taken off liberally for non-compliance with the instructions given on this page (such as wrong file names, wrong compression format for the submitted code, and so on). The reason is that non-compliance with the instructions makes the grading process significantly (and unnecessarily) more time consuming. Contact the instructor or TA if you have any questions.