Preview

04 - Linear Search

 1. In computer science, a linear search is also sometimes referred to as a:

  Mixed Search

  Sequential search

  Indexed Search

  Easy Search

 2. The linear search is simply a method for….

  …finding all the elements of a list and sorting them

  ...finding a target value within a list

  …sorting a list

  …finding a list within a target

 3. Linear search runs in at worst linear time and makes at most n comparisons, where n is ….

  the number of the first element

  the letter 'n'

  the length of the list

  the number of the second element

 4. Analyse the code below - what is the search criteria here?
#demonstration of linear search

def linearsearch(x,mylist):
  found=False
  
  for i in range(len(mylist)):
    if x==mylist[i]:
      found=True
      break
    else:
      if x not in mylist:
        break

  if found==False:
     print("Not Found")
  else:
    print("Found in position",i)

     

mylist=[1,2,3,4,5]
x=int(input("Enter a number:"))
linearsearch(x,mylist)
  

  x' is input by the user and is the search criteria

  found' is the input and is the search criteria

  int' is the search criteria

  mylist' is the search criteria in the coded example

 5. In a linear search, each element of the list is checked sequentially (one after the other) starting …
If you are able, watch the video and try and code this yourself in order to fully master it.

  at the beginning of the list

  in the middle of the list

  at the end of the list

  at a random point in the list

 6. Analyse the code below - what will the output be of this code?
def Sequential_Search(dlist, item):

    pos = 0
    found = False
    
    while pos < len(dlist) and not found:
        if dlist[pos] == item:
            found = True
        else:
            pos = pos + 1
    
    return found, pos

print(Sequential_Search([11,23,58,31,56,77,43,12,65,19],12))

  True, 7

  False,12

  False, 7

  True, 12

 7. In the following example (feel free to play around with it) what is "pos"?

  It is a variable that shows the result of the search

  It is a variable indicating the position of the element to be searched, starting at 0 (first element)

  It is a list in itself which shows the position of the elements

  It is a variable that shows how to position the result once found

 8. What is happening on line 10 with the code: pos = pos + 1

  This is called adding one. If the element is found, add one and output result

  None of the above apply

  This is called incrementation. It is adding one so that numbers aren't too short

  This is called incrementation. If the element searched for is not found, increment the value of 'pos'

 9. When is a linear search most useful?

  When the list is over 256 million elements long

  When the list is very large and can be sorted easily

  When the list is very small or the element searched for is near the start

  When the list is very large and the element searched for is at the end

 10. What is one benefit of using a linear search over a binary search?

  In a linear search, the list does not have to be sorted (in order)

  In a linear search, the algorithm puts the list in order which is handy

  None of the above apply

  In a linear search, the time taken is always four times as quick as a binary search