Search procedures are part of the most used operations when dealing with electronic devices and data. They are omnipresent, easy to understand and have a major overall speed impact.
They are thereby a great introduction to algorithmic thinking : if you can handle arrays, you can handle search algorithms.
For each algorithm we have the possibility to consult illustrated descriptions, complexity demonstrations and download the source code used. We can also just play with the visualisations to understand them in a snap.
We will learn how to implement ourself very usefull and powerful searching algorithms. We will for instance be capable to:
- Find a person wihin a phone book of 1 million contacts in only 20 operations.
- Find the three greatest elements in random data.
- Determine which git commit caused a bug in your code...
We will also start covering programming concept such : algorithms, complexity, divide and conquer strategy, partition method.
You may read more on data structures or sorting algorithms to go further.