Outline lecture

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

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
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

• 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 –
• 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
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
• 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

Print

Array(R )

Flowchart for Sequential Search using for loop
• J
• 10
• 1

J= J+1

If

Target

found

F

T

Print

Print

Array(R )

• 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 targetTask :- 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