Outline lecture l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Outline lecture PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on
  • Presentation posted in: General

Outline lecture. Revise arrays Entering into an array Totalling values in an array Sequential search. What is an Array. We are interested in one-dimensional arrays An array has a fixed number of elements and all elements are of the same type

Download Presentation

Outline lecture

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Outline lecture

  • Revise arrays

  • Entering into an array

  • Totalling values in an array

  • Sequential search


What is an Array

  • We are interested in one-dimensional arrays

  • An array has a fixed number of elements and all elements are of the same type

  • Each box has an index which in java and C++ starts with 0

  • Here is an array which holds the ages of 10 people

0 1 2 3 4 5 6 7 8 9

32 34 56 32 12 67 21 34 21 45


0 1 2 3 4 5 6 7 8 9

32 34 56 32 12 67 21 34 21 45

  • Lets look at this array in detail

  • What do you notice about the array ?

  • Is the data organised in any particular way?


Examples of Arrays

  • Draw an array of 20 elements which contains student marks – what type will it be ?

  • Draw an array of 15 elements which contains student grades ranging form A-E – what type will it be?


Entering data into an array

  • When you enter data into an array we use a loop

  • What type of loop do you think we will use?

  • Hint – we know the number of elements there are in the array

  • Use a counter to keep track of how many elements are entered into the array


Entering data into an array

Read

  • Algorithm

  • Loop : R = 1 to 10

  • Enter A( R)

  • Loop end

  • The number of elements in array is 10

  • The counter of loop (R ) allows the computer to increase the element number by 1 each time a piece of data is entered into a memory location

  • The computer can find a particular element in the array by using the reference number index represented by R

  • R = loop counter

  • A(R ) = element R in the A array

  • R

  • 10

  • 1

Enter

A(R )

R

B


Accumulating the elements of array

Calc

  • You may need to sum the elements of an array

  • Initialise the sum variable which contains the total to zero

  • The instruction Sum = Sum + A(R ) tells the computer to add the valve of element A(R ) to the old valve of the sum (Sum) and to store the result into sum memory location (Sum)

  • Algorithm

  • Loop : R = 1 to 10

  • sum = Sum + A( R)

  • Loop end

  • The number of elements in array is 10

  • The counter of loop (R ) allows the computer to increase the element number by 1 each time a piece of data is entered into a memory location

  • Sum = Sum of the elements of A

  • A(R ) = element R in the A array

  • R

  • 5

  • 1

Sum = Sum +

A(R )

R

B


Why Search ?

  • Everyday life -We always Looking for something – builder yellow pages, universities, hairdressers

  • Computers can search

  • World wide web –

  • Spreadsheet –

  • Databases –

  • Large records – 1000s takes time - many comparison slow system – user wont wait long time


Search Algorithms

  • Different types – Sequential Search, Binary Search

  • Discuss - search algorithms - analyze them

  • Analysis of the algorithms enables programmers to decide which algorithm to use for a specific application


Some observations – Key

  • each item in a data set - special member that uniquely identifies the item in the data set

  • For e.g University - a data set which contains student records – student ID uniquely identifies each student

  • This unique member of the item is called Key of the item


Some observations - Key

  • Where can Keys of the item in a data set be used in ?

  • When searching the data set - for a particular item, what do we do ?

  • compare the key of the item for which we are searching - with the keys of the items in the data set – e.g if we looking particular student id in a list of student id exam results


Analysis of Algorithms

  • In addition to describing the algorithms – analyse them

  • What does analysis of algorithms involve ?

  • key comparisons

  • Moreover – the number of key comparisons refers to - the number of times the key of the item (in search & sort algorithms) is compared with the keys of the items in the list


Target ?

  • ?


Sequential search (linear search)

  • Problem :- we want to search for a given element in a list.

  • Do we know where the target element occurs?.


Sequential search (linear search)

  • We can have no guarantees about the order of elements in the list if (for example) insertions have been under a user’s control.

  • Search starts at the first element in the list and continues until either the item is found in the list - or entire list is searched


A simple search method is as follows: p193

  • Algorithm

  • R = 1

  • While Array(R ) <> Target

    • R = R + 1

    • WhileEnd

  • If R > N

    • Then

    • Print “Element Not Found”

  • Else

  • Print Array (R )


Flowchart for Sequential Search P193

R = 1

While

Target

Array(R ) and

R<=N

R= R+1

If

R > N

F

T

Print

Element Not Found

Print

Array(R )


Flowchart for Sequential Search using for loop

  • J

  • 10

  • 1

If target not found

J= J+1

If

Target

found

F

T

Print

Element Not Found

Print

Array(R )


Task :- in pairs

  • Draw an array with 10 integer values

  • Populate the array with 10 elements

    1 5 6 3 7 8 9 5 2 3

  • Write an algorithm using the sequential search technique to find the target 6 in the array

  • Draw a flowchart


Demonstration

  • http://www.cosc.canterbury.ac.nz/people/mukundan/dsal/LSearch.html

    The more comparisons he longer it takes – time!


Sequential search (linear search)

  • If the search item is found, its index (that is its location in array) is returned. If search is unsuccessful, -1 is returned

  • Note the sequential search does not require the list elements to be in any particular order


Sequential Search Analysis : Task – in pairs

  • For each iteration in the loop, the search item is compared with an element in the list,and a few other statements are executed. Loop terminates when search item is found in list

  • Therefore the execution of the other statement in loop is directly related to the outcome of the key comparisons


Sequential Search Analysis

  • When analysing a search algorithm, - count the number of key comparisons –why ?

  • because this number gives us the most useful information,

  • this criterion for counting the number of key comparisons can be applied equally well to other search algorithms


An iterative sequential search of an array that {a) finds its target; (b) does not find its target

Task :- in pairs – how many comparisons ?

(a) A search for 8 (b) A search for 6

Look at 9

Look at 9

9 5 8 4 7

9 5 8 4 7

8 <> 9 , so continue searching …

6 <> 9 , so continue searching …

Look at 5

Look at 5

9 5 8 4 7

9 5 8 4 7


Sequential Search Analysis

  • Suppose the search item is in the list

  • Then number of key comparisons depends on where in the list the search item is located.

  • If search item is first element of L – make one key comparison – best case

  • Worst case search item is the last item – algorithm makes n comparisons


Sequential Search Analysis

  • If the search item Target , is the first element in list, how many one comparisons are needed?

  • if target is second, how many one comparisons are needed?

  • So if the target is the kth element in the list k comparisons are made


  • Login