Assignment 2 (1)
Assignment 2 (1)
Question 1: (6 Marks)
1. Define the concept of an Abstract Data Type (ADT) and explain how it differs from
concrete data types.
2. Describe two scenarios where using an ADT provides an advantage over concrete data
types in terms of flexibility and maintenance in a software application. Provide specific
examples in your answer.
Question 2: (8 Marks)
Consider a university timetable management system that needs to handle various data structures
effectively.
1. Identify and justify which data structures (e.g., arrays, linked lists, stacks, queues) would
be best suited to manage the following components of the system:
o Class schedules
o Teacher assignments
o Student registration
2. Describe how each chosen data structure supports efficient data manipulation for the
specified component, addressing the advantages and any potential limitations in each
case.
Question 3: (6 Marks)
1. Graph theory plays a crucial role in algorithms, especially in finding optimal paths.
Explain Dijkstra's Algorithm and provide a step-by-step example showing how it would
determine the shortest path from one node to another in a network of five nodes. Use a
diagram to illustrate your answer.
2. Describe a real-world scenario where Dijkstra's Algorithm could be effectively applied,
detailing the specific advantages it offers in this context.