0% found this document useful (0 votes)
11 views8 pages

Chap-1_Introduction-to-Data-Structure

The document provides an introduction to data structures, covering basic terminology, operations, algorithm design approaches, complexity analysis, and Big 'O' notation. It explains classifications of data structures, including linear and non-linear types, and details operations such as traversing, inserting, deleting, searching, sorting, and merging. Additionally, it discusses time and space complexity, along with asymptotic notations like Big O, Big Omega, and Theta.

Uploaded by

sarthakpatel1128
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views8 pages

Chap-1_Introduction-to-Data-Structure

The document provides an introduction to data structures, covering basic terminology, operations, algorithm design approaches, complexity analysis, and Big 'O' notation. It explains classifications of data structures, including linear and non-linear types, and details operations such as traversing, inserting, deleting, searching, sorting, and merging. Additionally, it discusses time and space complexity, along with asymptotic notations like Big O, Big Omega, and Theta.

Uploaded by

sarthakpatel1128
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Introduction to Data

Structure
CONTENTS
1.1 Basic Terminology
1. Elementary data structure organization
2. Classification of data structure
1.2 Operations on data structures
1.3 Different Approaches to designing an algorithm
1. Top-Down approach
2. Bottom-up approach
1.4 Complexity
1. Time complexity
2. Space complexity
1.5 Big ‘O’ Notation

Hours: 6
Marks: 8
1. Introduction to Data Structure

1.1 Basic Terminology


1. Elementary data structure organization
i. Data can be organized in many ways and data structures is one of these
ways.
ii. It is used to represent data in the memory of the computer so that the
processing of data can be done in easier way.
iii. Data structures is the logical and mathematical model of a particular
organization of data.
2. Classification of data structure
(Question: Explain the classification of Data Structure – 2 Marks)
The data structures can be of the following types:
i. Linear Data structures: In these data structures the elements form a
sequence. Such as Arrays, Linked Lists, Stacks and Queues are linear data
structures.
ii. Non-Linear Data Structures: In these data structures the elements do not
form a sequence. Such as Trees and Graphs are non-linear data
structures.

Figure 1.1

Anuradha Bhatia 2
1. Introduction to Data Structure

1.2 Operations on data structures


(Question: List and explain the various operations performed on
data structures- 4 Marks)
1. Traversing, Inserting, deleting
The following four operations play a major role in this text.
i. Traversing: Accessing each record exactly once so that certain items in the
record may be processed.
ii. Inserting: adding a new record to the structure.
iii. Deleting: Removing a record from the structure. Sometimes two or more
of the operations may be used in a given situation; for example we may
want to delete the record with a given key, which may mean we first need
to search for the location of the record.

2. Searching, sorting, merging


i. Searching: Finding the location of the record with a given key value, or
finding the locations of all records, which satisfy one or more conditions.
ii. Sorting: Arranging the records in some logical order (for example
alphabetically according to some Name key, or in numerical order
according to some Number key. such as account number.
iii. Merging: Combining the records in two different sorted files into a single
sorted file

1.3 Different Approaches to designing an algorithm


(Question: List two points each to explain the concept of top down
and bottom up approaches – 4 Marks)
1. Top-Down approach
i. This approach divides the problem in to manageable segments.
ii. This technique generates diagrams that are used to design the system.
iii. Frequently several alternate solutions to the programming problem are
developed and compared during this phase.
2. Bottom-up approach
i. The Bottom-up approach is an older approach which gives early emphasis
on coding.
ii. Since the programmer does not have a master plan for the project, the
resulting program may have many error ridden segments.

Anuradha Bhatia 3
1. Introduction to Data Structure

1.4 Complexity
1. Time complexity
(Question: Explain time complexity of an algorithm with operation
count and step count- 4 Marks)
Time Complexity is divided in to THREE Types.
i. Best Case Time Complexity: Efficiency of an algorithm for an input of size
N for which the algorithm takes the smallest amount of time.
ii. Average Case Time Complexity: It gives the expected value of T(n).
Average case is used when worst case and best case doesn’t gives any
necessary information about algorithm’s behavior, then the algorithm’s
efficiency is calculated on Random input.
iii. Worst Case Time Complexity: efficiency of an algorithm for an input of size
N for which the algorithm takes the longest amount of time.

Time complexity is calculated on the basis of


i. Operation Count: Find the basic operation a= a * b; this code takes 1 unit
of time

Figure 1.2

ii. Step Count


Example
Statement Step Count
x = a + b; 1
n
for(i=1; i <= n; i++) n2
for(j=1; j <= n; j++)
x = a + b;
Table 1.1

Anuradha Bhatia 4
1. Introduction to Data Structure

Example

Figure 1.3

The Step count for “sum‟ = 1


The step count for, “for statement” = n + 1
The step count for, “assignment‟ = n
The step count for, “return‟ = 1
Total steps = 2n + 3
2. Space complexity
(Question: Explain the concept of space complexity – 4 Marks)
i. Specifies the amount of temporary storage required for running the
algorithm.
ii. We do not count storage required for input and output when we are
working with the same type of problem and with different algorithms.
iii. Space needed by algorithm consists of the following component.
a. The fixed static part: it is independent of characteristics ex: number of
input/output. This part includes the instruction space (i.e. space for
code). Space for simple variables, space for constants, and fixed size
component variables. Let Cp be the space required for the code
segment (i.e. static part)
b. The variable dynamic part: that consists of the space needed by
component variables whose size is dependent on the particular
problem instance at runtime. i.e. space needed by reference variables,
and the recursion stack space. Let Sp be the space for the dynamic part.
c. Overall space required by program: S(p)= Cp + Sp
Finding the sum of three numbers:

Anuradha Bhatia 5
1. Introduction to Data Structure

Figure 1.4

iv. In the above program there are no instance characteristics and the space
needed by x, y, z and sum is independent of instance characteristics. The
space for each integer variable is 2. We have 4 integer variables and space
needed by x, y, z and sum are 4 * 2 = 8 bytes.
S (p) = Cp + Sp
S (p) = 8 + 0
S (p) = 8

1.5 Big ‘O’ Notation


Asymptotic Notation
The asymptotic behavior of a function is the study of how the value of a
function varies for larger values of “n” where “n” is the size of the input.
Using asymptotic behavior we can easily find the time efficiency of an
algorithm.
Different asymptotic notations are:
(Question: Explain the concept of Big ‘O’ asymptotic notation - 4
marks)
i. Big Ο (big oh): it is the formal method of expressing the upper
bound of an algorithm’s running time. It’s a measure of longest
amount of time it could possibly take for the algorithm to
complete. Let f(n) is the time efficiency of an algorithm. The
function f(n) is said to be Big-oh of g(n), denoted by
f(n) € O(g(n)) OR f(n) ≈ O(g(n)).
Such that there exist a +ve constant “c” and +ve integer n0
satisfying the constraint.
f(n) ≤ c * g(n) for all n≥ n0

Anuradha Bhatia 6
1. Introduction to Data Structure

Figure 1.5

(Question: Explain the concept of Big Omega asymptotic notation - 4


marks)
ii. Ω notation (Big-Omega): Let f(n) be the time complexity of an
algorithm. The function f(n) is said to be Big-Omega of g(n) which
is denoted by
f(n) € Ω(g(n)) OR f(n) ≈ Ω(g(n))
such that there exist a +ve constant “c” and non-negative integer
n0 satisfying the constraint
f(n) ≥ c * g(n) for all n ≥ n0

Figure 1.6

(Question: Explain the concept of Theta asymptotic notation - 4


marks)
iii. Θ notation (Theta): Let f(n) be the time complexity of an algorithm.
The function f(n) is said to be Big-Theta of g(n) which is denoted by

Anuradha Bhatia 7
1. Introduction to Data Structure

f(n) € θ(g(n)) OR f(n) ≈ θ (g(n))


such that there exist a +ve constant “c1, c2” and non-negative
integer n0 satisfying the constraint c2g(n) ≤ f(n) ≥ c1g(n) for all n ≥
n0.

Figure 1.7

Anuradha Bhatia 8

You might also like