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

Outline lecture PowerPoint PPT Presentation


  • 72 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 l.jpg

Outline lecture

  • Revise arrays

  • Entering into an array

  • Totalling values in an array

  • Sequential search


What is an array l.jpg

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


Slide3 l.jpg

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 l.jpg

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 l.jpg

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 array6 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 key11 l.jpg

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 l.jpg

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 l.jpg

Target ?

  • ?


Sequential search linear search l.jpg

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 search15 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Demonstration

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

    The more comparisons he longer it takes – time!


Sequential search linear search21 l.jpg

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 l.jpg

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 l.jpg

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


Task in pairs how many comparisons l.jpg

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 analysis25 l.jpg

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 analysis26 l.jpg

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