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.
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.