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 significant 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 may consult illustrated descriptions, complexity demonstrations and download the source code used. We can also play with the visualizations to understand them in a snap.
We will learn how to implement ourselves very useful and powerful searching algorithms. We will for instance be capable of:
- Find a person within a phone book of 1 million contacts in only 20 operations.
- Find the most significant 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.
What is next?
You may read more on data structures or sorting algorithms to go further.