Search

Introduction

Understanding algorithms, even simple ones, can be challenging. Reading through the pseudo-code or actual code written in some programming language and tracing the execution line-by-line makes it difficult to grasp the core concepts of the algorithm.

Therefore, we are presenting an alternate way to learn algorithms. Using the example of Search, we will demonstrate a systematic way of learning algorithms using transition systems.

The Binary Search algorithm is introduced gradually through four different experiments. Each experiment introduces just one new concept, and lets you interactively learn that concept while performing the given task. By the time you reach the final stage, you will be presented with the final algorithm, which you can step through at your own pace, visualising each every step involved.

Interactive Abstract Machines for Search

  1. Random Search (Memoryless)
  2. Random Search (With Memory)
  3. Linear Search
  4. Binary Search

The development of these experiments has been supported by CEMCA