Preview

01 - Searching Algorithms

 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

  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

  their steps in the right order.

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

  bit-controlled time frame

  CPU

  128 bit period

  data set

 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

  FALSE

  TRUE

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

  search criteria

  CPU latency

  computer itself

  data set

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

  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

  None of the above

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

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

  Bubble Sort, Hash Search

  Cache Search, Merge Sort

  None of the above

  Linear Search, Binary Search

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

  None of these options are valid

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

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

  Search algorithms make things easier for a user instead of having to manually look through lots of data to find the information that is being searched for

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

  keyword

  cache cell

  ghost

  bug

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

  The efficiency of the algorithm

  The complexity of the code of the algorithm

  None of the above

  The ease of reading of the algorithm

 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"

  complexity

  time

  code

  space