Preview

03 - Searching Algorithms Overview

 1. An algorithm is a list of rules to follow in order to solve a problem. Algorithms need to have _______________

  their steps in random order for flexibility

  their steps in the right order.

  no steps in order for the programmer to have a blank slate

  the exact code in the exact language specified at the time of writing

 2. Looking for a specific piece of data or information within a ___________ is known as searching

  CPU

  data set

  bit-controlled time frame

  128 bit period

 3. In a presentation headed by Facebook CEO Mark Zuckerberg, it was announced that the Graph Search algorithm finds information from within a user's network of friends.
Searching is a relevant topic from social media to data analytics!
algorithms_searching_q1.png

  TRUE

  FALSE

 4. To search for something you need to what you're looking for (the ______________) and where to look (the data set)

  data set

  search criteria

  CPU latency

  computer itself

 5. Analyse the code below. What is the data set? And what is the task of the algorithm?

  None of the above

  The whole code is the data set and the task is for it to work

  The data set is the number input by the user and the task is to find the number and output it

  The list of numbers is the data set and the task is to find a number and return its position

 6. There are different types of searching algorithms. Which two are definitely on the list?
algorithms_searching_q2.png

  Linear Search, Binary Search

  None of the above

  Bubble Sort, Hash Search

  Cache Search, Merge Sort

 7. What is the advantage of coming up with an effective search algorithm?

  None of the above

  Search algorithms prevent you from having to look through lots of data to find the information you are searching for

  There is no obvious advantage, but it is a thing programmers like to do

  Search algorithms make the process of looking through data even longer, which elongates the task

 8. Searching for a ________ or value is the foundation of many computer programs

  keyword

  cache cell

  bug

  ghost

 9. What is crucial to consider when developing a search algorithm?

  The complexity of the code of the algorithm

  The ease of reading of the algorithm

  The efficiency of the algorithm

  None of the above

 10. Read the following historical excerpt relating to searching algorithms and efficiency and fill in the blanks.
Searching Algorithms - importance of efficiency
=======================================
The importance of efficiency with respect to _______ was 
emphasised by Ada Lovelace in 1843 as applying to 
Charles Babbage's mechanical analytical engine:

"In almost every computation a great variety of arrangements 
for the succession of the processes is possible, and various 
considerations must influence the selections amongst them for
 the purposes of a calculating engine. One essential object is to 
choose that arrangement which shall tend to reduce to a minimum 
the ________necessary for completing the calculation"

  space

  time

  code

  complexity