In a bidirectional search algorithm, the search begins in forward from the beginning state and in reverse from the objective state. The searches meet to identify a common state. The initial state is linked with the objective state in a reverse way. Each search is done just up to half of the aggregate way.