Arraylineardatastructure21 110805065315-phpapp02

Post on 01-Nov-2014

412 views 0 download

description

 

Transcript of Arraylineardatastructure21 110805065315-phpapp02

Array(ADT)Linear Data Structure

www.eshikshak.co.in

What are Arrays ?

● An Aay is collection of elements stored in adjacent memory locations.

● By ‘finite’ – specific number of elements in an Aay

● By ‘similar’ – all the elements in an Aay are of the same data type

www.eshikshak.co.in

What are Arrays ? (cont.)

● An Aay containing number of element is reference using an index values 0, 1, …n-1

○ Lower bound–Lowest index value○ Upper bound–Highest index value

● An Aay is set of pairs of an index and a value, for each index there is value associated with it.

● Various categories of Aay○ 1D, 2D and Multi-D

www.eshikshak.co.in

What are Arrays ? (Cont.)

● The number of elements in the Aay is called its range.

● No matter how big an Aay is, its elements are always stored in contiguous memory locations.

www.eshikshak.co.in

Array Operations

Operation DescriptionTraversal Processing each element in the AaySearch Finding the location of an element with a given

valueInsertion Adding new element to an AayDeletion Removing an element from an AaySorting Organizing the elements in some orderMerging Combining two Aays into a single AayReversing Reversing the elements of an Aay

www.eshikshak.co.in

Row-Major and Column-Major Arrangement

● All the elements of Aay are stored in adjacent memory.

● This leads to two possible Aangements of elements in memory ○ Row Major

○ ColumnMajor

● Base address , no. of rows ,& no. of columns helps to know any element in an Aay

www.eshikshak.co.in

Algorithm for Array Traversal

● Let A be a linear Aay with Lower Bound LB and Upper Bound UB. The following algorithm traverses A applying an operations PROCESS to each element of A

Step 1. Initialize Counter

Set Counter = LB

Step 2. Repeat steps 3 and 4 while counter <= UB

Else GoTo Step 5

Step 3. Visit element

Apply PROCESS to A[counter]

Step 4. Increase Counter

Set counter = counter + 1

GoTo 2

Step 5. Exit

www.eshikshak.co.in

Algorithm for InsertionLet A be a Linear Array, N is number of elements, k is the positive integer such that k<=N, VAL to insert element at kth Position in an Array A

Step 1. Start

Step 2. Initialize Counter

Set J = N

Step 3. Repeat Steps 3 and 4 while J>=k otherwise GoTo Step

Step 4. Move Jth element downward

Set A[J+1] = A[J]

Step 5. Decrease Counter

Set J = J + 1

End of step 2 loop

Step 6. Insert element

Set A[k] = ITEM

Step 7. Reset N

Set N = N + 1

Step 8. Exit

www.eshikshak.co.in

Algorithm for DeletionDELETE(A, N, K, VAL)Let A be an linear Aay. N is the number of elements, k is the positive integer such that k<=N. The algorithm deletes kth element from the Aay.

Step 1. Start

Step 2. Set VAL = A[k]

Step 3. Repeat for J = k to N-1

[Move J+1 element Upward]

Set A[J] = A[J+1)

End of Loop

Step 4. Reset the number N of elements in A

Set N = N– 1Step 5. Exit

www.eshikshak.co.in

Algorithm for Linear SearchSuppose A is linear Array with N elements, and VAL is the given item of information. This algorithm finds the location LOC of item in A or sets LOC=0 if search is unsuccessful

Step 1. Start

Step 2. [Insert VAL at the end of A]

Set A[N+1] = VAL

Step 3. [Initialize counter]

SET LOC = 1

Step 4. [Search for VAL]

Repeat while A[LOC] != VAL

Set LOC = LOC + 1

[End of loop]

Step 5. [Successful ?]

if LOC = N+1 then set LOC = 0

Step 6. Exit

www.eshikshak.co.in

Algorithm for sortingLet A be an Aay of N elements. The following algorithm sorts the elements of A.Step 1. StartStep 2. Repeat Steps 2 and 3 for k=1 to N-1Step 3. Set PTR = 1 [Initialize pass pointer PTR]Step 4. Repeat while PTR<=N-K [Execute Pass]a. If A[PTR] > A[PTR+1], thenInterchange A[PTR] and A[PTR+1] [End of if structure]b. Set PTR = PTR + 1[End of inner loop][End of step1 outer loop]Step 5. Exit

www.eshikshak.co.in