### What is Searching?

In computer science, searching is the process of finding an item with specified properties among a collection of items. The items may be sorted as records in a database, simple data elements in arrays, text in files, nodes in trees, vertices and edges in graphs or may be elements of other search space.

### Why Searching?

Searching is one of core computer science algorithms. We know that today’s computers store lot of information. To retrieve this information efficiently we need very efficient searching algorithms. There are certain ways of organizing the data which improves the search process. That means, if we keep the data is some proper order, it is easy to search the required element. Sorting is one of the techniques for making the elements ordered. We shall try to understand the different type of searching algorithms.

#### Types of Searching

The following are the types of searches which we will try to understand:-

- Unordered Linear search
- Sorted/Ordered Linear search
- Binary search
- Symbol Tables and Hashing
- String searching algorithms: Tries, Ternary search and Suffix trees