# 03 - Searching Algorithms Overview

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

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

their steps in random order for flexibility

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

data set

CPU

128 bit period

bit-controlled time frame

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

FALSE

TRUE

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

data set

CPU latency

search criteria

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 data set is the number input by the user and the task is to find the number and output it

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

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?

Linear Search, Binary Search

None of the above

Cache Search, Merge Sort

Bubble Sort, Hash Search

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

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

None of the above

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

cache cell

bug

ghost

keyword

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

The efficiency of the algorithm

None of the above

The complexity of the code of the algorithm

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

code

space

time