ITS60504 Data Structures and Algorithms
Assessment Task 3: Group Assignment
(40%)
Semester Jan 2024
Student declaration:
We declare that:
We understand what is meant by plagiarism
The implication of plagiarism has been explained to us by our lecturer This
project is all our work and we have acknowledged any use of the published or
unpublished works of other people.
Names of Group Members
No Student ID Student Name
1 0362447 Smarika Sharma
2 Nirdesh Raj Maharjan
3 Hira Dhan Gurung
4 Udesh Shrestha
5 Sweta Karki
INTRODUCTION
In the real-world application of programming, the appropriate choice of data structure is very
crucial. Every data structure has its own pros and cons over another. The choice of data structure
depends on the work requirements and operation needed to be performed. The efficiency can be
affected by the choice of the data structure in the program. By evaluating the time complexity of
the data structures while performing operations like insertion, deletion, searching and sorting, we
can find the appropriate data structure that can be used for the program to maximize the
efficiency and minimizing the space complexity.
The two data structures that we have chosen for implementing the operations are array and
linked list data structure. We have chosen these two data structures as they carry distinct
characteristics which will help us to observe the differences in time complexity and space
complexity of the two data structures. Arrays have the fixed size and occupy the contiguous
memory. This is why, once the array size is declared, the elements cannot be added later. Unlike
arrays, linked list occupies the memory blocks in non-contiguous way. The elements are stored in
nodes. The node also contains the memory location of the next node. Because of this, operations
like data insertion and data deletion from any indexing position are possible.
PROBLEM STATEMENT
The fundamental problem that this project addresses is the need for the clear understanding on
the differences of the different data structures. The data structures have both advantages and
drawbacks compared to the other data structures for some specific operations. The drawbacks
can be the worst time and space complexity. Developing a c- based program, we can calculate
the time complexity of the data structures on the operations. By calculating the time complexity,
we can find the differences between different data structures and operations.
OBJECTIVE
Develop a C based application that stores ‘n’ number of integers in two data structures.
Perform operations such as data insertion, deletion, searching, sorting, and traversing on
array and linked list data structures.
Measure the time complexity of data structures while performing each operation.
Analyze the time complexity that has been measured and determine the best, average and
worst cases.
Determine the data structures that provide better efficiency on the basis of time
complexity while performing the different operations.
PROGRAM AND IMPLEMENTATION
DATA STRUCTURE – LINKED LIST
DATA STRUCTURE - ARRAY