Aim & Objective
This coursework is designed to demonstrate the broad understanding and knowledge of the module,
assessing, and evaluating the student’s strength and level of analysis; divided into 4 Section. The
coursework should be submitted as one document in a report format in final submission.
Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory. Primitive data structures like int, float, char, etc. are simple ways for programming languages to represent basic values but in order to store multiple values in a single variable, there is a need of nonprimitive data structures which includes arrays, lists, stacks, trees, and so forth. The use of these data structures can also be employed using object- oriented programming languages like C# or Java, a class
is a data structure that organizes attributes and functions in such a way that they can be easily replicated. In each case, the way the data is “structured” makes it easy to retrieve or manipulate.
You have been asked to write a report covering the points stated below in relation to ADTs and its
management. You must also present your programming skills related to abstract data types using C#.
The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The different form of data structure and its operations gives rise to its different application like Arrays, Stack, Queue, Linked Lists, graph data structure, Tree, Hash tables, etc. Understanding the above nature of data structure, you are required to produce a design specification for any three data structure explaining the valid operations that can be carried out on the structures. To implement and make use of Stack, you need to define its common operations and how it is used to implement function calls in a computer. To further test the use of Queue, you need to illustrate with an example of a concrete data structure for “First in First out” (FIFO) Queue and its common operations.
Sorting is a common operation in many applications, but efficient algorithms are selected and made use
to develop the programs, therefore you are required to compare the performance of the any two types
Visualizations are a powerful way to simplify and interpret the underlying patterns in data. Use of graphs is one such visualization technique. It is incredibly useful and helps businesses make better data-driven decisions. In order to present your understanding on the concepts of graphs, you need to present your findings on “Graph theory”, by analysing on any two network shortest path algorithms from Bellman Ford’s Algorithm, Dijkstra’s Algorithm & Floyd-Warshall’s Algorithm.
In many modern days application, Stacks are used for the undo buttons. The recent most changes are pushed into the stack. Even the back button on the browser works with the help of the stack where all the recently visited web pages are pushed into the stack. Making a note to the above concepts on stack, you need to Identify an abstract data type for a First in Last out (FILO) – stack and its different associated functions and support with some programming examples. Based on the application of OOPS in data structures, you need to examine the advantages of encapsulation and information hiding when using an ADT. Present your views along with justification on why imperative ADTs is considered a basis for object