0% found this document useful (0 votes)
26 views13 pages

Unit 1

This document introduces data structures and algorithms. It defines data structures as logical or mathematical models for organizing data and discusses linear and nonlinear structures like arrays and trees. Key data structure operations are described such as traversing, searching, inserting and deleting data. Algorithms are defined as well-defined sets of instructions to solve problems, and examples are provided. The complexity of algorithms is analyzed in terms of time and space, using Big O notation to classify typical growth rates like constant, logarithmic, linear, quadratic and more.

Uploaded by

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

Unit 1

This document introduces data structures and algorithms. It defines data structures as logical or mathematical models for organizing data and discusses linear and nonlinear structures like arrays and trees. Key data structure operations are described such as traversing, searching, inserting and deleting data. Algorithms are defined as well-defined sets of instructions to solve problems, and examples are provided. The complexity of algorithms is analyzed in terms of time and space, using Big O notation to classify typical growth rates like constant, logarithmic, linear, quadratic and more.

Uploaded by

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

Introduction to Data Structures and

Algorithms

1
Elementary Data Organization
• Data are simply values or sets of values.
• A data item refers to a single unit of values .
• Data items that are divided into subitems are called
group items, those are not are called elementary
items.
• Collection of data are frequently organized into a
hierarchy of fields, records and files.
• This organization of data may not complex enough to
maintain and efficiently process certain collections of
data.
• For this reason, data are organized into more complex
type of structures called Data Structures.
To learn about these data structures, we have to
follow these three steps:
1.Logical or mathematical description of the
structure.
2.Implementation of the structure on a
computer.
3.Quantitative analysis of the structure, which
includes determining the amount of memory
needed to store the structure and the time
required to process the structure.
Data Structures
 Data Structures
The logical or mathematical model of a particular organization of data is called a data
structure.
 Types of Data Structure

1. Linear Data Structure


Example: Arrays, Linked Lists, Stacks, Queues

2. Nonlinear Data Structure


A
Example: Trees, Graphs
Array A B C D E F Tree B C

D E F

Figure: Linear and nonlinear structures

4
A data structure is said to be linear if its elements form a sequence,
or, in other words, a linear list.
There are two basic ways of representing such linear structures in
memory.
1)One way is to have the linear relationship between the elements
represented by means of sequential memory locations. These linear
structures are called arrays.
2)The other ways is to have the linear relationship between the
elements represented by means of pointers or links. These linear
structures are called linked lists.
info next info next info next
list null

Linear linked list


Choice of Data Structures
The choice of data structures depends on two considerations:

1. It must be rich enough in structure to mirror the actual relationships of data in the
real world.

2. The structure should be simple enough that one can effectively process data when
necessary.

10
20 10
30
40 20 30
50
60
70 40 50 60 70
80
Figure 2: Array with 8 items Figure 3: Tree with 8 nodes

6
Data Structure Operations

1. Traversing: Accessing each record exactly once so that certain items in

the record may be processed.

2. Searching: Finding the location of the record with a given key value.

3. Inserting: Adding a new record to the structure.

4. Deleting: Removing a record from the structure.

5. Sorting: Arranging the records in some logical order.

6. Merging: Combing the records in two different sorted files into a single

sorted file.

7
Two more operations
• Sorting
• Merging
Algorithms
It is a well-defined set of instructions used to solve a particular problem.

Example:
Write an algorithm for finding the location of the largest element of an array Data.

Largest-Item (Data, N, Loc)


1. set k:=1, Loc:=1 and Max:=Data[1]
2. while k<=N repeat steps 3, 4
3. If Max < Data[k] then Set Loc:=k and Max:=Data[k]
4. Set k:=k+1
5. write: Max and Loc
6. exit

9
Complexity of Algorithms

• The complexity of an algorithm M is the function


f(n) which gives the running time and/or storage
space requirement of the algorithm in terms of the
size n of the input data.

• Two types of complexity


1. Time Complexity
2. Space Complexity

10
O-notation
- A function f(n)=O(g(n)) if there are positive constants c and n 0 such that

f(n)<=c.g(n) for all n>= n0.

- When f(n)=O(g(n)), it is guaranteed that f(n) grows at a rate no faster than g(n).

So g(n) is an upper bound on f(n).

Example:

(a) f(n) = 3n+2

Here f(n) <= 5n for n>=1

So, f(n) = O(n).

(b) f(n) = 3n2-2

Here f(n) < 3n2 for n>=1

So, f(n) = O(n2).

11
Some rules related to asymptotic notation

Rule-1
If fa(n) = O(ga(n)) and fb(n) = O((gb(n)) then
(a) fa(n)+fb(n) = max(O(ga(n)),O(gb(n))
(b) fa(n) * fb(n) = O(ga(n) * gb(n))

Rule-2
If f(n) is a polynomial of degree k, then f(n) = Θ(nk).

Rule-3
Logkn = O(n) for any constant.

12
Typical Growth Rates

Function Name

c Constant

logn Logarithmic

log2n Log-squared

n Linear

nlogn

n2 Quadratic

n3 Cubic

2n Exponential
13

You might also like