Algorithms – Search Techniques Overview


 31 total views

Searching for information is a basic task that we all do. We search for an item in a grocery list, or look for a telephone number from the telephone directory. A common and popular example of searching is Google search where we search for links to web sites such as Notesformsc, or look for specific images, text and so on.

The searching techniques differ depending on the type of data where we are performing the search. Your goal is to get the information as fast as possible and this is due to enormous repository of information available today.

Searching And Data Structures

Searching techniques have very close relationship with data structures. The data structure influence the choice of search techniques. Therefore, we classify data structures into following classes.

Data Structures for Search Techiques
Data Structures for Search Techniques

Linear Structures


When the data structure is in the form of lists than we can use following type of searches algorithms.

  • Linear search or sequential search
  • Transpose sequential search
  • Interpolation search
  • Binary search
  • Fibonacci search

Non-Linear Structures

The non-linear data structures are trees like binary search trees, AVL trees, etc or you have graphs to search. There are hash tables which also introduce some interesting search techniques. A tree search can employ recursive or iterative search within the tree.

For graph based data structures, the following algorithms are very popular.

  • Breadth first search
  • Depth first search

Files And Databases

Database searches are done on large volume of data.The data is stored in files and indexed with key/value pair that assist in quick searches. These kind of searches are called indexed sequential searches.

In this section, we will be discussing about various search algorithms and their performances.


Introduction to Algorithms, 3rd Edition (The MIT Press) 3rd Edition

Best book for students with little programming experience. The algorithms are designed and explained in easy to understand manner. The book includes many exercises and problems. The text is intended primarily for students studying algorithms or data structures. As it discusses engineering issues in algorithm design, as well as mathematical aspects, it is equally well suited for self-study by technical professionals.