1 / 12

Lecture 4 on Data Structure

Lecture 4 on Data Structure. Array. Searching : Linear search. Searching refers to the operation of finding the location LOC of ITEM in DATA, or printing some message that ITEM does not appear there.

rufus
Télécharger la présentation

Lecture 4 on Data Structure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 4on Data Structure Array

  2. Searching : Linear search Searching refers to the operation of finding the location LOC of ITEM in DATA, or printing some message that ITEM does not appear there. DATA is a linear array with n elements. The most intuitive way to search for a given ITEM in DATA is to compare ITEM with each element of DATA one by one. That is first we test whether DATA[1 ]=ITEM, and then we test whether DATA[2 ]=ITEM, and so on. This method, which traverses DATA sequentially to locate ITEM, is called linear search or sequential search. • Algorithm 4.5 : A linear array DATA with N elements and a specific ITEM of information are given. This algorithm finds the location LOC of ITEM in the array DATA or sets LOC = 0. • Set DATA[N+1]:=ITEM. • Set LOC:=1. • Repeat while DATA[LOC]! =ITEM : Set LOC := LOC +1. [End of loop] • If LOC = N+1, then : • Write : ITEM is not in the array DATA. • Else : • Write : LOC is the location of ITEM. • 5.Exit. Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  3. Complexity of Linear search • Measured by the number f(n) of comparisons required to find ITEM in the DATA array. Two important case: • Average case: • Suppose pk is the probability that ITEM appears in DATA[k], and • q is the probability that ITEM does not appears in DATA. • Then p1+ p2+ p3+ p4+ … pn+ q = 1 (Total probability) • Average number of comparisons can be calculated by- • f(n) = 1. p1 + 2. p1+ 3. p1+ ……………….+ n . pn+ (n+1). q • Let, q is very small q0 and item appears in equal probability then pi= 1/n • Worse case: when the search occurs through the entire array, DATA. i.e. When the ITEM does not appar in the array DATA • It requires f(n)= n+1 • In this case, the running time is proportional to n Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  4. Binary Search Algorithm BINARY(DATA, LB, UB, ITEM, LOC) • Set BEG=LB; END=UB; and MID=INT((BEG+END)/2). • Repeat step 3 and 4 while BEG ≤ END and DATA[MID] ≠ ITEM • If ITEM < DATA[MID] then Set END= MID + 1 Else: Set BEG= MID-1 [end of if structure] • Set MID= INT((BEG+END)/2) [End of step 2 loop] • If ITEM = DATA[MID] then Set LOC= MID Else: Set LOC= NULL [end of if structure] • Exit. Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  5. Binary Search example (Seek for 123) Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  6. Binary Search - Complexity • Often not interested in best case. • Worst case: • Loop executes until BEG <= END • Size halved in each iteration • N, N/2, N/4, …N/2K…. 1 • How many steps ? Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  7. Binary Search - Complexity • Worst case: • N/2K = 1 i.e. 2K = N • Which gives K=log2N steps, which is O(log2(N)) • This is considered very fast when compared to linear Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  8. Binary Search - Complexity • Average case: • 1st iteration: 1 possible value • 2nd iteration: 2 possible values (left or right half) • 3rd iteration: 4 possible values (left of left, right of left, right of right, right of left) • ith iteration: 2i-1 possible values Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  9. Binary Search - Complexity • Average Case: 1 + 2 + 2 + 3 + 3 + 3 + 3 + … (upto log N steps) • 1 element can be found with 1 comparison • 2 elements  2 • 4 elements  3 • Above Sum = sum over all possibilities = i=0 to log N(i*2i-1) = O (log N) Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  10. Columns 1 2 3 1 2 3 A[1, 1] A[1, 2] A[1, 3] Rows A[2, 1] A[2, 2] A[2, 3] A[3, 1] A[3, 2] A[3, 3] Multidimensional arrays Two dimensional, three dimensional arrays and ….. Where elements are referenced respectively by two, three and ……subscripts. Two – dimensional Arrays A Two – dimensional Arrays m x n array A is a collection of m . n data elements such that each element is specified by a pair of integers (such as J, K), called subscripts. The element of A with first subscript J and second subscript K will be denoted by A[J, K] Fig: Two dimensional 3 x 3 array A Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  11. Matrix Multiplication Algorithm 4.7: MATMUL(A, B, C, M, P, N) Let A be an MXP matrix array, and let B be a PXN matrix array. This algorithm stores the product of A and B in an MXN matrix array. • Repeat steps 2 to 4 for I =1 to M: • Repeat steps 3 to 4 for J =1 to N: • Set C[I, J]:=0 • Repeat for K =1 to P: • C[I, J]:= C[I, J]:+A[I, K]*B[K, J] • Exit See solved problem 4.12. Prepared by, Jesmin Akhter, Lecturer, IIT, JU

  12. Solved Problem 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10,4.12 Supplementary problems: 4.25 Prepared by, Jesmin Akhter, Lecturer, IIT, JU

More Related