SlideShare una empresa de Scribd logo
1 de 49
Data Structure and Algorithm
CS-102
Ashok K Turuk

1
Data Structure
vs
Storage Structure
• Data Structure : The logical or mathematical
model of a particular organization of data
• Storage Structure : Representation of a
particular data structure in the memory of a
computer
• There are many possible storage structure to a
particular data structure

• Ex: there are a number of storage structure for a data
structure such as array

– It is possible for two DS to represented by the
same storage structure

2
Classification
• Data Structure
– Linear
– Non-Linear

• A Data structure is said to be linear if
its elements from a sequence or in other
words form a linear list

3
Representation in Memory
• Two basic representation in memory
– Have a linear relationship between the
elements represented by means of
sequential memory locations [ Arrays]
– Have the linear relationship between the
elements represented by means of pointer
or links [ Linked List]

4
Operation on Linear Structure
• Traversal : Processing each element in the list
• Search : Finding the location of the element
with a given value or the record with a given
key
• Insertion: Adding a new element to the list
• Deletion: Removing an elements from the list
• Sorting : Arranging the elements in some type
of order
• Merging : Combining two list into a single list

5
Array

6
Linear Arrays
• A linear array is a list of a finite
number of n homogeneous data
elements ( that is data elements of the
same type) such that
– The elements are of the arrays are
referenced respectively by an index set
consisting of n consecutive numbers
– The elements of the arrays are stored
respectively in successive memory
locations

7
Linear Arrays
• The number n of elements is called the
length or size of the array.
• The index set consists of the integer 1,
2, … n
• Length or the number of data elements of
the array can be obtained from the index
set by
Length = UB – LB + 1 where UB is the
largest index called the upper bound and
LB is the smallest index called the lower
bound of the arrays
8
Linear Arrays
• Element of an array A may be denoted
by

– Subscript notation A1, A2, , …. , An
– Parenthesis notation A(1), A(2), …. , A(n)
– Bracket notation A[1], A[2], ….. , A[n]

• The number K in A[K] is called subscript
or an index and A[K] is called a
subscripted variable
9
Representation of Linear Array in Memory

1000
1001
1002
1003
1004

1005

:
Computer Memory

10
Representation of Linear Array in Memory
• Let LA be a linear array in the memory of
the computer
• LOC(LA[K]) = address of the element
LA[K] of the array LA
• The element of LA are stored in the
successive memory cells
• Computer does not need to keep track of
the address of every element of LA, but
need to track only the address of the first
element of the array denoted by Base(LA)
called the base address of LA
11
Representation of Linear Array in Memory
• LOC(LA[K]) = Base(LA) + w(K – lower
bound) where w is the number of words
per memory cell of the array LA [w is
aka size of the data type]

12
Example 1
LA[1]

201

LA[2]

202

LA[3]

203

LA[4]

204

LA[5]

205

LA[6]

206

LA[7]

207

Find the address for LA[6]
Each element of the array
occupy 1 byte

200

LA[8]

LOC(LA[K]) = Base(LA) + w(K – lower bound)

:

LOC(LA[6]) = 200 + 1(6 – 1) = 205
13
Example 2

Find the address for LA[16]
Each element of the array
occupy 2 byte

200

LA[1]

201
202

LA[2]

203
204

LA[3]

205
206
207
LOC(LA[K]) = Base(LA) + w(K – lower bound)

LA[4]

:

LOC(LA[16]) = 200 + 2(16 – 1) = 230
14
Representation of Linear Array in Memory
• Given any value of K, time to calculate
LOC(LA[K]) is same
• Given any subscript K one can access and
locate the content of LA[K] without
scanning any other element of LA
• A collection A of data element is said to be
index if any element of A called Ak can be
located and processed in time that is
independent of K
15
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

16
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

17
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

18
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

19
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

20
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

21
Traversing Linear Arrays
• Traversing is accessing and processing
(aka visiting ) each element of the data
structure exactly ones
Linear Array
•••

1. Repeat for K = LB to UB
Apply PROCESS to LA[K]
[End of Loop]
2. Exit

22
Inserting and Deleting
• Insertion: Adding an element
– Beginning
– Middle
– End

• Deletion: Removing an element
– Beginning
– Middle
– End
23
Insertion
1

Brown

1

Brown

2

Davis

2

Davis

3

Johnson

3

Johnson

4

Smith

4

Smith

5

Wagner

5

Wagner

6

6

Ford

7

7

8

8

Insert Ford at the End of Array

24
Insertion
1

Brown

1

Brown

2

Davis

2

Davis

3

Johnson

3

Johnson

4

Smith

4

Smith

5

Wagner

5

6

6

7

7

8

8

Wagner

1

Brown

1

Brown

2

Davis

2

Davis

3

Johnson

3

Ford

4

Johnson

4
5

Smith

5

Smith

6

Wagner

6

Wagner

7

7

8

8

Insert Ford as the 3rd Element of Array

Insertion is not Possible without loss
of data if the array is FULL
25
Deletion
1

Brown

1

Brown

2

Davis

2

Davis

3

Ford

3

Ford

4

Johnson

4

Johnson

5

Smith

5

Smith

6

Taylor

6

Taylor

7

Wagner

7

8

8

Deletion of Wagner at the End of Array

26
Deletion
1

Brown

1

2

Davis

2

3

Ford

3

Ford

3

4

Johnson

4

Johnson

4

Johnson

5

Smith

5

Smith

5

Smith

6

Taylor

6

Taylor

6

Taylor

7

Wagner

7

Wagner

7

Wagner

8

8

Brown

1

Brown

2

Ford

8

1

Brown

2

Ford

3

Johnson

4

5

Smith

6

Taylor

7

Wagner

8

Deletion of Davis from the Array

27
Deletion
1

Brown

2

Ford

3

Johnson

4

Smith

5

Taylor

6

Wagner

7
8

No data item can be deleted from an empty
array
28
Insertion Algorithm
• INSERT (LA, N , K , ITEM)

[LA is a
linear array with N elements and K is a positive
integers such that K ≤ N. This algorithm insert an
element ITEM into the Kth position in LA ]
1. [Initialize Counter] Set J := N
2. Repeat Steps 3 and 4 while J ≥ K
3. [Move the Jth element downward ] Set LA[J + 1]
:= LA[J]
4. [Decrease Counter] Set J := J -1
5 [Insert Element] Set LA[K] := ITEM
6. [Reset N] Set N := N +1;
7. Exit
29
Deletion Algorithm
• DELETE (LA, N , K , ITEM)

[LA is a
linear array with N elements and K is a positive
integers such that K ≤ N. This algorithm deletes Kth
element from LA ]
1. Set ITEM := LA[K]
2. Repeat for J = K to N -1:
[Move the J + 1st element upward] Set LA[J]
:= LA[J + 1]
3. [Reset the number N of elements] Set N := N - 1;
4. Exit

30
Multidimensional Array
•
•
•
•

One-Dimensional Array
Two-Dimensional Array
Three-Dimensional Array
Some programming Language allows as
many as 7 dimension

31
Two-Dimensional Array
• A Two-Dimensional m x n array A is a
collection of m . n data elements such
that each element is specified by a pair
of integer (such as J, K) called
subscript with property that
1 ≤ J ≤ m and 1 ≤ K ≤ n
The element of A with first subscript J
and second subscript K will be denoted
by AJ,K or A[J][K]
32
2D Arrays
The elements of a 2-dimensional array a
is shown as below

a[0][0]
a[1][0]
a[2][0]

a[0][1]
a[1][1]
a[2][1]

a[0][2]
a[1][2]
a[2][2]

a[0][3]
a[1][3]
a[2][3]
Rows Of A 2D Array
a[0][0]
a[1][0]
a[2][0]

a[0][1]
a[1][1]
a[2][1]

a[0][2]
a[1][2]
a[2][2]

a[0][3]
a[1][3]
a[2][3]

row 0
row 1
row 2
Columns Of A 2D Array
a[0][0]
a[1][0]
a[2][0]

a[0][1]
a[1][1]
a[2][1]

a[0][2]
a[1][2]
a[2][2]

a[0][3]
a[1][3]
a[2][3]

column 0

column 1

column 2 column 3
2D Array
• Let A be a two-dimensional array m x n
• The array A will be represented in the
memory by a block of m x n sequential
memory location
• Programming language will store array A
either

– Column by Column (Called Column-Major
Order) Ex: Fortran, MATLAB
– Row by Row (Called Row-Major Order) Ex: C,
C++ , Java
36
2D Array in Memory
A

Subscript
(1,1)
(2,1)

(3,1)

A

Subscript
(1,1)

Column 1

(1,2)
(2,2) Column 2
(3,2)
(1,3)
(2,3) Column 3
(3,3)
(1,4)

(2,4) Column 4
(3,4)
Column-Major Order

(1,2)
(1,3)

Row 1

(1,4)
(2,1)
(2,2)
(2,3)

Row 2

(2,4)
(3,1)
(3,2)
(3,3)

Row 3

(3,4)
Row-Major Order

37
2D Array
• LOC(LA[K]) = Base(LA) + w(K -1)
• LOC(A[J,K]) of A[J,K]
Column-Major Order
LOC(A[J,K]) = Base(A) + w[m(K-1) + (J-1)]

Row-Major Order
LOC(A[J,K]) = Base(A) + w[n(J-1) + (K-1)]

38
2D Array Example
• Consider a 25 x 4 array A. Suppose the
Base(A) = 200 and w =4. Suppose the
programming store 2D array using rowmajor. Compute LOC(A[12,3])
• LOC(A[J,K]) = Base(A) + w[n(J-1) + (K-1)]

• LOC(A[12,3]) = 200 + 4[4(12-1) + (3 -1)]
= 384

39
Multidimensional Array
• An n-dimensional m1 x m2 x …. X mn array B
is a collection of m1.m2…mn data elements
in which each element is specified by a list
of n integers – such as K1, K2, …., Kn – called
subscript with the property that
1≤K1≤m1, 1≤K2≤m2, …. 1≤Kn≤mn
The Element B with subscript K1, K2, …,Kn will
be denoted by
BK1,K2, …,Kn
or B[K1,K2,….,Kn]
40
Multidimensional Array
• Let C be a n-dimensional array
• Length Li of dimension i of C is the
number of elements in the index set
Li = UB – LB + 1
• For a given subscript Ki, the effective
index Ei of Li is the number of indices
preceding Ki in the index set
Ei = Ki – LB
41
Multidimensional Array
• Address LOC(C[K1,K2, …., Kn]) of an
arbitrary element of C can be obtained as
Column-Major Order
Base( C) + w[((( … (ENLN-1 + EN-1)LN-2)
+ ….. +E3)L2+E2)L1+E1]
Row-Major Order
Base( C) + w[(… ((E1L2 + E2)L3 + E3)L4
+ ….. +EN-1)LN +EN]
42
Example
• MAZE(2:8, -4:1, 6:10)
• Calculate the address of MAZE[5,-1,8]
• Given: Base(MAZE) = 200, w = 4, MAZE
is stored in Row-Major order
• L1 = 8-2+1 = 7, L2 = 6, L3 = 5
• E1 = 5 -2 = 3, E2 = 3, E3 = 2

43
Example Contd ..
• Base( C) + w[(… ((E1L2 + E2)L3 + E3)L4 +
….. +EN-1)LN +EN]
• E1L2 = 3 . 6 = 18
• E1L2 + E2 = 18 + 3 = 21
• (E1L2 + E2)L3 = 21 . 5 = 105
• (E1L2+E2)L3 + E3 = 105 + 2 = 107
• MAZE[5,-1,8] = 200 + 4(107) = 200 +
248 = 628
44
Pointer, Pointer Array
• Let DATA be any array
• A variable P is called a pointer if P
points to an element in DATA i.e if P
contains the address of an element in
DATA
• An array PTR is called a pointer array if
each element of PTR is a pointer

45
Group 1

Group 2

Group 3 Group 4

Evan

Conrad

Davis

Baker

Harris

Felt

Segal

Cooper

Lewis

Glass

Ford

Shaw

Hill

Gray

Penn

Jones

Silver

Reed

Two Dimensional
4x9 or 9x4 array

Troy
Wagner
King

46
1

Evan

2

Harris

3

Lewis

4

Shaw

5

Conrad

:

:

13

Wagner

14

Davis

15

Segal

16

Baker

:

:

21

Reed

Group 1

Group 2
Group 3
Group 4

47
1

Evan

:

:

4

Shaw

5

$$$

6

Conrad

:

:

14

Wagner

15

$$$

16

Davis

17

Segal

18

$$$

19

Baker

:

:

24

Reed

Group 1

Group are not index
Group 2 in this
representation
Group 3

Group 4
48
1

Evan

2

Harris

3

Lewis

1 1

4

Shaw

2 5

5

Conrad

:

:

Group

3 14
4 16
5 22

Group 1

Group 2

13 Wagner
14 Davis
15 Segal

Group 3

16 Baker
:

:

Group 4

21 Reed
22 $$$

49

Más contenido relacionado

La actualidad más candente

Data structures & algorithms lecture 3
Data structures & algorithms lecture 3Data structures & algorithms lecture 3
Data structures & algorithms lecture 3Poojith Chowdhary
 
SEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMSSEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMSGokul Hari
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure shameen khan
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked ListNinad Mankar
 
Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]Muhammad Hammad Waseem
 
1.5 binary search tree
1.5 binary search tree1.5 binary search tree
1.5 binary search treeKrish_ver2
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Treesagar yadav
 
Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data StructureMeghaj Mallick
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure Janki Shah
 
Introduction to data structure ppt
Introduction to data structure pptIntroduction to data structure ppt
Introduction to data structure pptNalinNishant3
 
Circular linked list
Circular linked listCircular linked list
Circular linked listchauhankapil
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsAakash deep Singhal
 
Data Structure and Algorithms Binary Search Tree
Data Structure and Algorithms Binary Search TreeData Structure and Algorithms Binary Search Tree
Data Structure and Algorithms Binary Search TreeManishPrajapati78
 
Different Sorting tecniques in Data Structure
Different Sorting tecniques in Data StructureDifferent Sorting tecniques in Data Structure
Different Sorting tecniques in Data StructureTushar Gonawala
 
Algorithms Lecture 6: Searching Algorithms
Algorithms Lecture 6: Searching AlgorithmsAlgorithms Lecture 6: Searching Algorithms
Algorithms Lecture 6: Searching AlgorithmsMohamed Loey
 

La actualidad más candente (20)

Abstract Data Types
Abstract Data TypesAbstract Data Types
Abstract Data Types
 
Data structures & algorithms lecture 3
Data structures & algorithms lecture 3Data structures & algorithms lecture 3
Data structures & algorithms lecture 3
 
Hash table
Hash tableHash table
Hash table
 
SEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMSSEARCHING AND SORTING ALGORITHMS
SEARCHING AND SORTING ALGORITHMS
 
Linear search-and-binary-search
Linear search-and-binary-searchLinear search-and-binary-search
Linear search-and-binary-search
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked List
 
Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]
 
Linked lists
Linked listsLinked lists
Linked lists
 
1.5 binary search tree
1.5 binary search tree1.5 binary search tree
1.5 binary search tree
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
Binary Tree in Data Structure
Binary Tree in Data StructureBinary Tree in Data Structure
Binary Tree in Data Structure
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure
 
Introduction to data structure ppt
Introduction to data structure pptIntroduction to data structure ppt
Introduction to data structure ppt
 
Circular linked list
Circular linked listCircular linked list
Circular linked list
 
Data Structures - Lecture 3 [Arrays]
Data Structures - Lecture 3 [Arrays]Data Structures - Lecture 3 [Arrays]
Data Structures - Lecture 3 [Arrays]
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
 
Data Structure and Algorithms Binary Search Tree
Data Structure and Algorithms Binary Search TreeData Structure and Algorithms Binary Search Tree
Data Structure and Algorithms Binary Search Tree
 
Different Sorting tecniques in Data Structure
Different Sorting tecniques in Data StructureDifferent Sorting tecniques in Data Structure
Different Sorting tecniques in Data Structure
 
Algorithms Lecture 6: Searching Algorithms
Algorithms Lecture 6: Searching AlgorithmsAlgorithms Lecture 6: Searching Algorithms
Algorithms Lecture 6: Searching Algorithms
 

Destacado

Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsAakash deep Singhal
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsAakash deep Singhal
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsAakash deep Singhal
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURESbca2010
 
Lecture 6 data structures and algorithms
Lecture 6 data structures and algorithmsLecture 6 data structures and algorithms
Lecture 6 data structures and algorithmsAakash deep Singhal
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsAakash deep Singhal
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsAakash deep Singhal
 
02 Arrays And Memory Mapping
02 Arrays And Memory Mapping02 Arrays And Memory Mapping
02 Arrays And Memory MappingQundeel
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsAakash deep Singhal
 
Lecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsLecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsAakash deep Singhal
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsAakash deep Singhal
 
Data Structures- Part3 arrays and searching algorithms
Data Structures- Part3 arrays and searching algorithmsData Structures- Part3 arrays and searching algorithms
Data Structures- Part3 arrays and searching algorithmsAbdullah Al-hazmy
 
Basic concepts of object oriented programming
Basic concepts of object oriented programmingBasic concepts of object oriented programming
Basic concepts of object oriented programmingSachin Sharma
 
មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++Ngeam Soly
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Conceptsthinkphp
 

Destacado (19)

Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithms
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURES
 
Lecture 6 data structures and algorithms
Lecture 6 data structures and algorithmsLecture 6 data structures and algorithms
Lecture 6 data structures and algorithms
 
12111 data structure
12111 data structure12111 data structure
12111 data structure
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithms
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
 
02 Arrays And Memory Mapping
02 Arrays And Memory Mapping02 Arrays And Memory Mapping
02 Arrays And Memory Mapping
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithms
 
Lecture 13 data structures and algorithms
Lecture 13 data structures and algorithmsLecture 13 data structures and algorithms
Lecture 13 data structures and algorithms
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithms
 
Arrays C#
Arrays C#Arrays C#
Arrays C#
 
Subsidence in coal mines
Subsidence in coal minesSubsidence in coal mines
Subsidence in coal mines
 
Data Structures- Part3 arrays and searching algorithms
Data Structures- Part3 arrays and searching algorithmsData Structures- Part3 arrays and searching algorithms
Data Structures- Part3 arrays and searching algorithms
 
Basic concepts of object oriented programming
Basic concepts of object oriented programmingBasic concepts of object oriented programming
Basic concepts of object oriented programming
 
Oops ppt
Oops pptOops ppt
Oops ppt
 
មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++មេរៀនៈ Data Structure and Algorithm in C/C++
មេរៀនៈ Data Structure and Algorithm in C/C++
 
Object Oriented Programming Concepts
Object Oriented Programming ConceptsObject Oriented Programming Concepts
Object Oriented Programming Concepts
 

Similar a Lecture 3 data structures and algorithms

2. Array in Data Structure
2. Array in Data Structure2. Array in Data Structure
2. Array in Data StructureMandeep Singh
 
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHIBCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHISowmya Jyothi
 
Ist year Msc,2nd sem module1
Ist year Msc,2nd sem module1Ist year Msc,2nd sem module1
Ist year Msc,2nd sem module1blessyboban92
 
Basic of array and data structure, data structure basics, array, address calc...
Basic of array and data structure, data structure basics, array, address calc...Basic of array and data structure, data structure basics, array, address calc...
Basic of array and data structure, data structure basics, array, address calc...nsitlokeshjain
 
Unit 1 introduction to data structure
Unit 1   introduction to data structureUnit 1   introduction to data structure
Unit 1 introduction to data structurekalyanineve
 
Data structure and algorithm All in One
Data structure and algorithm All in OneData structure and algorithm All in One
Data structure and algorithm All in Onejehan1987
 
PPT Lecture 2.2.1 onn c++ data structures
PPT Lecture 2.2.1 onn c++ data structuresPPT Lecture 2.2.1 onn c++ data structures
PPT Lecture 2.2.1 onn c++ data structuresmidtushar
 
data structure unit -1_170434dd7400.pptx
data structure unit -1_170434dd7400.pptxdata structure unit -1_170434dd7400.pptx
data structure unit -1_170434dd7400.pptxcoc7987515756
 
data structure and algorithm Array.pptx btech 2nd year
data structure and algorithm  Array.pptx btech 2nd yeardata structure and algorithm  Array.pptx btech 2nd year
data structure and algorithm Array.pptx btech 2nd yearpalhimanshi999
 
Data structure using c module 1
Data structure using c module 1Data structure using c module 1
Data structure using c module 1smruti sarangi
 
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada ReddyDatastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada ReddyMalikireddy Bramhananda Reddy
 
DATA STRUCTURES USING C -ENGGDIGEST
DATA STRUCTURES USING C -ENGGDIGESTDATA STRUCTURES USING C -ENGGDIGEST
DATA STRUCTURES USING C -ENGGDIGESTSwapnil Mishra
 
COMPUTER PROGRAMMING UNIT 1 Lecture 5
COMPUTER PROGRAMMING UNIT 1 Lecture 5COMPUTER PROGRAMMING UNIT 1 Lecture 5
COMPUTER PROGRAMMING UNIT 1 Lecture 5Vishal Patil
 

Similar a Lecture 3 data structures and algorithms (20)

Arrays
ArraysArrays
Arrays
 
2.DS Array
2.DS Array2.DS Array
2.DS Array
 
arrays in data structure.pptx
arrays in data structure.pptxarrays in data structure.pptx
arrays in data structure.pptx
 
2. Array in Data Structure
2. Array in Data Structure2. Array in Data Structure
2. Array in Data Structure
 
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHIBCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
 
Ist year Msc,2nd sem module1
Ist year Msc,2nd sem module1Ist year Msc,2nd sem module1
Ist year Msc,2nd sem module1
 
cluod.pdf
cluod.pdfcluod.pdf
cluod.pdf
 
Arrays.pptx
Arrays.pptxArrays.pptx
Arrays.pptx
 
Basic of array and data structure, data structure basics, array, address calc...
Basic of array and data structure, data structure basics, array, address calc...Basic of array and data structure, data structure basics, array, address calc...
Basic of array and data structure, data structure basics, array, address calc...
 
Unit 1 introduction to data structure
Unit 1   introduction to data structureUnit 1   introduction to data structure
Unit 1 introduction to data structure
 
Data structure and algorithm All in One
Data structure and algorithm All in OneData structure and algorithm All in One
Data structure and algorithm All in One
 
PPT Lecture 2.2.1 onn c++ data structures
PPT Lecture 2.2.1 onn c++ data structuresPPT Lecture 2.2.1 onn c++ data structures
PPT Lecture 2.2.1 onn c++ data structures
 
data structure unit -1_170434dd7400.pptx
data structure unit -1_170434dd7400.pptxdata structure unit -1_170434dd7400.pptx
data structure unit -1_170434dd7400.pptx
 
data structure and algorithm Array.pptx btech 2nd year
data structure and algorithm  Array.pptx btech 2nd yeardata structure and algorithm  Array.pptx btech 2nd year
data structure and algorithm Array.pptx btech 2nd year
 
Data structure using c module 1
Data structure using c module 1Data structure using c module 1
Data structure using c module 1
 
DSA.pdf
DSA.pdfDSA.pdf
DSA.pdf
 
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada ReddyDatastructures and algorithms prepared by M.V.Brehmanada Reddy
Datastructures and algorithms prepared by M.V.Brehmanada Reddy
 
DATA STRUCTURES USING C -ENGGDIGEST
DATA STRUCTURES USING C -ENGGDIGESTDATA STRUCTURES USING C -ENGGDIGEST
DATA STRUCTURES USING C -ENGGDIGEST
 
COMPUTER PROGRAMMING UNIT 1 Lecture 5
COMPUTER PROGRAMMING UNIT 1 Lecture 5COMPUTER PROGRAMMING UNIT 1 Lecture 5
COMPUTER PROGRAMMING UNIT 1 Lecture 5
 
M v bramhananda reddy dsa complete notes
M v bramhananda reddy dsa complete notesM v bramhananda reddy dsa complete notes
M v bramhananda reddy dsa complete notes
 

Último

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 

Último (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 

Lecture 3 data structures and algorithms

  • 1. Data Structure and Algorithm CS-102 Ashok K Turuk 1
  • 2. Data Structure vs Storage Structure • Data Structure : The logical or mathematical model of a particular organization of data • Storage Structure : Representation of a particular data structure in the memory of a computer • There are many possible storage structure to a particular data structure • Ex: there are a number of storage structure for a data structure such as array – It is possible for two DS to represented by the same storage structure 2
  • 3. Classification • Data Structure – Linear – Non-Linear • A Data structure is said to be linear if its elements from a sequence or in other words form a linear list 3
  • 4. Representation in Memory • Two basic representation in memory – Have a linear relationship between the elements represented by means of sequential memory locations [ Arrays] – Have the linear relationship between the elements represented by means of pointer or links [ Linked List] 4
  • 5. Operation on Linear Structure • Traversal : Processing each element in the list • Search : Finding the location of the element with a given value or the record with a given key • Insertion: Adding a new element to the list • Deletion: Removing an elements from the list • Sorting : Arranging the elements in some type of order • Merging : Combining two list into a single list 5
  • 7. Linear Arrays • A linear array is a list of a finite number of n homogeneous data elements ( that is data elements of the same type) such that – The elements are of the arrays are referenced respectively by an index set consisting of n consecutive numbers – The elements of the arrays are stored respectively in successive memory locations 7
  • 8. Linear Arrays • The number n of elements is called the length or size of the array. • The index set consists of the integer 1, 2, … n • Length or the number of data elements of the array can be obtained from the index set by Length = UB – LB + 1 where UB is the largest index called the upper bound and LB is the smallest index called the lower bound of the arrays 8
  • 9. Linear Arrays • Element of an array A may be denoted by – Subscript notation A1, A2, , …. , An – Parenthesis notation A(1), A(2), …. , A(n) – Bracket notation A[1], A[2], ….. , A[n] • The number K in A[K] is called subscript or an index and A[K] is called a subscripted variable 9
  • 10. Representation of Linear Array in Memory 1000 1001 1002 1003 1004 1005 : Computer Memory 10
  • 11. Representation of Linear Array in Memory • Let LA be a linear array in the memory of the computer • LOC(LA[K]) = address of the element LA[K] of the array LA • The element of LA are stored in the successive memory cells • Computer does not need to keep track of the address of every element of LA, but need to track only the address of the first element of the array denoted by Base(LA) called the base address of LA 11
  • 12. Representation of Linear Array in Memory • LOC(LA[K]) = Base(LA) + w(K – lower bound) where w is the number of words per memory cell of the array LA [w is aka size of the data type] 12
  • 13. Example 1 LA[1] 201 LA[2] 202 LA[3] 203 LA[4] 204 LA[5] 205 LA[6] 206 LA[7] 207 Find the address for LA[6] Each element of the array occupy 1 byte 200 LA[8] LOC(LA[K]) = Base(LA) + w(K – lower bound) : LOC(LA[6]) = 200 + 1(6 – 1) = 205 13
  • 14. Example 2 Find the address for LA[16] Each element of the array occupy 2 byte 200 LA[1] 201 202 LA[2] 203 204 LA[3] 205 206 207 LOC(LA[K]) = Base(LA) + w(K – lower bound) LA[4] : LOC(LA[16]) = 200 + 2(16 – 1) = 230 14
  • 15. Representation of Linear Array in Memory • Given any value of K, time to calculate LOC(LA[K]) is same • Given any subscript K one can access and locate the content of LA[K] without scanning any other element of LA • A collection A of data element is said to be index if any element of A called Ak can be located and processed in time that is independent of K 15
  • 16. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 16
  • 17. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 17
  • 18. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 18
  • 19. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 19
  • 20. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 20
  • 21. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 21
  • 22. Traversing Linear Arrays • Traversing is accessing and processing (aka visiting ) each element of the data structure exactly ones Linear Array ••• 1. Repeat for K = LB to UB Apply PROCESS to LA[K] [End of Loop] 2. Exit 22
  • 23. Inserting and Deleting • Insertion: Adding an element – Beginning – Middle – End • Deletion: Removing an element – Beginning – Middle – End 23
  • 29. Insertion Algorithm • INSERT (LA, N , K , ITEM) [LA is a linear array with N elements and K is a positive integers such that K ≤ N. This algorithm insert an element ITEM into the Kth position in LA ] 1. [Initialize Counter] Set J := N 2. Repeat Steps 3 and 4 while J ≥ K 3. [Move the Jth element downward ] Set LA[J + 1] := LA[J] 4. [Decrease Counter] Set J := J -1 5 [Insert Element] Set LA[K] := ITEM 6. [Reset N] Set N := N +1; 7. Exit 29
  • 30. Deletion Algorithm • DELETE (LA, N , K , ITEM) [LA is a linear array with N elements and K is a positive integers such that K ≤ N. This algorithm deletes Kth element from LA ] 1. Set ITEM := LA[K] 2. Repeat for J = K to N -1: [Move the J + 1st element upward] Set LA[J] := LA[J + 1] 3. [Reset the number N of elements] Set N := N - 1; 4. Exit 30
  • 31. Multidimensional Array • • • • One-Dimensional Array Two-Dimensional Array Three-Dimensional Array Some programming Language allows as many as 7 dimension 31
  • 32. Two-Dimensional Array • A Two-Dimensional m x n array A is a collection of m . n data elements such that each element is specified by a pair of integer (such as J, K) called subscript with property that 1 ≤ J ≤ m and 1 ≤ K ≤ n The element of A with first subscript J and second subscript K will be denoted by AJ,K or A[J][K] 32
  • 33. 2D Arrays The elements of a 2-dimensional array a is shown as below a[0][0] a[1][0] a[2][0] a[0][1] a[1][1] a[2][1] a[0][2] a[1][2] a[2][2] a[0][3] a[1][3] a[2][3]
  • 34. Rows Of A 2D Array a[0][0] a[1][0] a[2][0] a[0][1] a[1][1] a[2][1] a[0][2] a[1][2] a[2][2] a[0][3] a[1][3] a[2][3] row 0 row 1 row 2
  • 35. Columns Of A 2D Array a[0][0] a[1][0] a[2][0] a[0][1] a[1][1] a[2][1] a[0][2] a[1][2] a[2][2] a[0][3] a[1][3] a[2][3] column 0 column 1 column 2 column 3
  • 36. 2D Array • Let A be a two-dimensional array m x n • The array A will be represented in the memory by a block of m x n sequential memory location • Programming language will store array A either – Column by Column (Called Column-Major Order) Ex: Fortran, MATLAB – Row by Row (Called Row-Major Order) Ex: C, C++ , Java 36
  • 37. 2D Array in Memory A Subscript (1,1) (2,1) (3,1) A Subscript (1,1) Column 1 (1,2) (2,2) Column 2 (3,2) (1,3) (2,3) Column 3 (3,3) (1,4) (2,4) Column 4 (3,4) Column-Major Order (1,2) (1,3) Row 1 (1,4) (2,1) (2,2) (2,3) Row 2 (2,4) (3,1) (3,2) (3,3) Row 3 (3,4) Row-Major Order 37
  • 38. 2D Array • LOC(LA[K]) = Base(LA) + w(K -1) • LOC(A[J,K]) of A[J,K] Column-Major Order LOC(A[J,K]) = Base(A) + w[m(K-1) + (J-1)] Row-Major Order LOC(A[J,K]) = Base(A) + w[n(J-1) + (K-1)] 38
  • 39. 2D Array Example • Consider a 25 x 4 array A. Suppose the Base(A) = 200 and w =4. Suppose the programming store 2D array using rowmajor. Compute LOC(A[12,3]) • LOC(A[J,K]) = Base(A) + w[n(J-1) + (K-1)] • LOC(A[12,3]) = 200 + 4[4(12-1) + (3 -1)] = 384 39
  • 40. Multidimensional Array • An n-dimensional m1 x m2 x …. X mn array B is a collection of m1.m2…mn data elements in which each element is specified by a list of n integers – such as K1, K2, …., Kn – called subscript with the property that 1≤K1≤m1, 1≤K2≤m2, …. 1≤Kn≤mn The Element B with subscript K1, K2, …,Kn will be denoted by BK1,K2, …,Kn or B[K1,K2,….,Kn] 40
  • 41. Multidimensional Array • Let C be a n-dimensional array • Length Li of dimension i of C is the number of elements in the index set Li = UB – LB + 1 • For a given subscript Ki, the effective index Ei of Li is the number of indices preceding Ki in the index set Ei = Ki – LB 41
  • 42. Multidimensional Array • Address LOC(C[K1,K2, …., Kn]) of an arbitrary element of C can be obtained as Column-Major Order Base( C) + w[((( … (ENLN-1 + EN-1)LN-2) + ….. +E3)L2+E2)L1+E1] Row-Major Order Base( C) + w[(… ((E1L2 + E2)L3 + E3)L4 + ….. +EN-1)LN +EN] 42
  • 43. Example • MAZE(2:8, -4:1, 6:10) • Calculate the address of MAZE[5,-1,8] • Given: Base(MAZE) = 200, w = 4, MAZE is stored in Row-Major order • L1 = 8-2+1 = 7, L2 = 6, L3 = 5 • E1 = 5 -2 = 3, E2 = 3, E3 = 2 43
  • 44. Example Contd .. • Base( C) + w[(… ((E1L2 + E2)L3 + E3)L4 + ….. +EN-1)LN +EN] • E1L2 = 3 . 6 = 18 • E1L2 + E2 = 18 + 3 = 21 • (E1L2 + E2)L3 = 21 . 5 = 105 • (E1L2+E2)L3 + E3 = 105 + 2 = 107 • MAZE[5,-1,8] = 200 + 4(107) = 200 + 248 = 628 44
  • 45. Pointer, Pointer Array • Let DATA be any array • A variable P is called a pointer if P points to an element in DATA i.e if P contains the address of an element in DATA • An array PTR is called a pointer array if each element of PTR is a pointer 45
  • 46. Group 1 Group 2 Group 3 Group 4 Evan Conrad Davis Baker Harris Felt Segal Cooper Lewis Glass Ford Shaw Hill Gray Penn Jones Silver Reed Two Dimensional 4x9 or 9x4 array Troy Wagner King 46
  • 49. 1 Evan 2 Harris 3 Lewis 1 1 4 Shaw 2 5 5 Conrad : : Group 3 14 4 16 5 22 Group 1 Group 2 13 Wagner 14 Davis 15 Segal Group 3 16 Baker : : Group 4 21 Reed 22 $$$ 49