DS GTU Study Material Presentations Unit-1
DS GTU Study Material Presentations Unit-1
Introduction to
Data Structure
3
What is Data Structure?
Data Structure is a representation of the logical relationship existing between individual
elements of data.
In other words, a data structure is a way of organizing all data items that considers not only
the elements stored but also their relationship to each other.
We can also define data structure as a mathematical or logical model of a particular
organization of data items.
Data Structure mainly specifies the following four things
Organization of Data
Accessing Methods
Degree of Associativity
Processing alternatives for information
4
What is Data Structure? Cont..
The representation of a particular data structure in the memory of a computer is called Storage
Structure.
The storage structure representation in auxiliary memory is called as File Structure.
5
Classification of Data Structure
Data Structure
Floating Pointers
Point Linear Non-linear
List List
6
Primitive / Non-primitive data structures
Primitive data structures
Primitive data structures are basic structures and are directly operated upon by machine instructions.
Integers, floats, character and pointers are examples of primitive data structures.
Non primitive data structure
These are derived from primitive data structures.
The non-primitive data structures emphasize on structuring of a group of homogeneous or heterogeneous
data items.
Examples of Non-primitive data type are Array, List, and File.
7
Non primitive Data Structure
Array: An array is a fixed-size sequenced collection of elements of the same data type.
List: An ordered set containing variable number of elements is called as Lists.
File: A file is a collection of logically related information. It can be viewed as a large list of
records consisting of various fields.
Array
File
List
8
Linear / Non-Linear data structure
Linear data structures
A data structure is said to be Linear, if its elements are connected in linear fashion by means of logically or in
sequence memory locations.
Examples of Linear Data Structure are Stack and Queue.
Nonlinear data structures
Nonlinear data structures are those data structure in which data items are not arranged in a sequence.
Examples of Non-linear Data Structure are Tree and Graph.
9
Operations of Data Structure
Create: It results in reserving memory for program elements.
Destroy: It destroys memory space allocated for specified data structure.
Selection: It deals with accessing a particular data within a data structure.
Updation: It updates or modifies the data in the data structure.
Searching: It finds the presence of desired data item in the list of data items.
Sorting: It is a process of arranging all data items in a data structure in a particular order.
Merging: It is a process of combining the data items of two different sorted list into a single
sorted list.
Splitting: It is a process of partitioning single list to multiple list.
Traversal: It is a process of visiting each and every node of a list in systematic manner.
10
Time and space analysis of algorithms
Sometimes, there are more than one way to solve a problem.
We need to learn how to compare the performance of different algorithms and choose the best
one to solve a particular problem.
While analyzing an algorithm, we mostly consider time complexity and space complexity.
Time complexity of an algorithm quantifies the amount of time taken by an algorithm to run as
a function of the length of the input.
Space complexity of an algorithm quantifies the amount of space or memory taken by an
algorithm to run as a function of the length of the input.
Time & space complexity depends on lots of things like hardware, operating system,
processors, etc.
However, we don't consider any of these factors while analyzing the algorithm. We will only
consider the execution time of an algorithm.
11
Calculate Time Complexity of Algorithm
Time Complexity is most commonly estimated by counting the number of elementary
functions performed by the algorithm.
Since the algorithm's performance may vary with different types of input data,
hence for an algorithm we usually use the worst-case Time complexity of an algorithm because that is the
maximum time taken for any input size.
12
Calculating Time Complexity
Calculate Time Complexity of Sum of elements of List (One dimensional Array)
A is array, n is no of elements in array
SumOfList(A,n)
{ Line Cost No of Times
Line 1 total = 0 1 1 1
Line 2 for i = 0 to n-1 2 2 n+1
Line 3 total = total + A[i] 3 2 n
Line 4 return total 4 1 1
}
TSumOfList = 1 + 2 (n+1) + 2n + 1
= 4n + 4 We can neglate constant 4
=n
13
Thank
You