Assignment 1 DSA
Assignment 1 DSA
Unit number and title Unit 19: Data Structures and Algorithms
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Student’s signature
Grading grid
P1 P2 P3 M1 M2 M3 D1 D2
Summative Feedback: Resubmission Feedback:
IV Signature:
Table of Contents
I. Create a design specification for data structures explaining the valid operations that can be carried out on
the structures. (P1)....................................................................................................................................................... 3
1. Data Structures ................................................................................................................................................. 3
2. Types of Data Structure .................................................................................................................................... 4
2.1. Linear data structures ............................................................................................................................... 4
2.2. Non-linear data structures ........................................................................................................................ 6
3. Advantages and disadvantage of data structure .............................................................................................. 7
4. Abstract data types ........................................................................................................................................... 7
4.1. Definition .................................................................................................................................................. 7
4.2. List ADT ..................................................................................................................................................... 8
4.3. Stack ADT .................................................................................................................................................. 8
4.4. Queue ADT ................................................................................................................................................ 9
II. Determine the operations of a memory stack and how it is used to implement function calls in a computer
(P2) 9
1. Memory stack ................................................................................................................................................... 9
2. Exception ........................................................................................................................................................ 10
3. Implement function calls in a computer ......................................................................................................... 10
III. Using an imperative definition, specify the abstract data type for a software stack. (P3) ......................... 11
1. Definition of software stack ............................................................................................................................ 11
2. Parts of a software stack................................................................................................................................. 11
IV. Reference ........................................................................................................................................................ 12
• Operating system. The operating system manages the memory and processes within your
computer. The majority of the time, computers will use one of five main systems: macOS,
Microsoft Windows, Linux, Apple iOS, and Android OS.
• Database. Your databases let you create and maintain all the records used in your system.
Popular databases used in stacks include MySQL, Oracle Database, and SQL Server.
• Middleware is software that enables one or more kinds of communication or connectivity
between two or more applications or application components in a distributed network.
IV. Reference
• Software Stack - Definition & Overview - https://www.sumologic.com/glossary/software-
stack/
• What is Software Stack - https://www.geeksforgeeks.org/what-is-software-stack/
• Implementing Stacks in Data Structures - https://www.simplilearn.com/tutorials/data-
structure-tutorial/stacks-in-data-structures
• Function Call Stack Examples - https://cs.gmu.edu/~kauffman/cs222/stack-demo.html
• Stack - https://www.techopedia.com/definition/9523/stack
• Stack Memory - https://www.sciencedirect.com/topics/engineering/stack-memory
• How does memory stacks work in Javascript? - https://www.geeksforgeeks.org/how-
does-memory-stacks-work-in-javascript/
• Introduction to memory and memory units -
https://www.geeksforgeeks.org/introduction-to-memory-and-memory-units/?ref=rp
• What is a non-linear data structure? - https://www.javatpoint.com/what-is-a-non-linear-
data-structure
• What is Linked List - https://www.geeksforgeeks.org/what-is-linked-list/
• Queue Data Structure - https://www.geeksforgeeks.org/queue-data-structure/