1 / 26

# Outline lecture - PowerPoint PPT Presentation

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

Related searches for Outline lecture

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Outline lecture' - ally

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

• Revise arrays

• Entering into an array

• Totalling values in an array

• Sequential search

• 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 6 7 8 9

• 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 6 7 8 9

• 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 6 7 8 9

• 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

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 ? 6 7 8 9

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

• Computers can search

• World wide web –

• Databases –

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

Search Algorithms 6 7 8 9

• 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 6 7 8 9

• 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 6 7 8 9

• 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 6 7 8 9

• 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 ? 6 7 8 9

• ?

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

• Do we know where the target element occurs?.

• 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 6 7 8 9: p193

• Algorithm

• R = 1

• While Array(R ) <> Target

• R = R + 1

• WhileEnd

• If R > N

• Then

• Else

• Print Array (R )

R = 1

While

Target

Array(R ) and

R<=N

R= R+1

If

R > N

F

T

Print

Print

Array(R )

• J

• 10

• 1

J= J+1

If

Target

found

F

T

Print

Print

Array(R )

Task :- in pairs 6 7 8 9

• 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 6 7 8 9

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

The more comparisons he longer it takes – time!

• 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

• 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 6 7 8 9

• 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 its target; (b) does not find its target

• 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 its target; (b) does not find its target

• 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