# Program to Implement Binary Search using Recursion PHP

View: 624    Dowload: 0   Comment: 0   Post by: hanhga   Category: Php&mySql   Fields: Other

Binary Search is a searching algorithm that finds the value in a sorted array in O(logN) time complexity. In my previous post i discuss how to implement binary search using iterative method. In this post i’ll explain how to implement binary search using recursion.

## What is Recursion

Recursion is programming technique in which function call itself and terminates when base condition is met. Check complete Recursion Explanation.

## Binary Algorithm For Recursion :

```BinarySearch (int arr[], int num, int first, int last)
{

if (first > last)

else
{
/* Calculate mid element */

int mid = (first + last) / 2 ;

if(arr[mid]==num){

print number_is_found;

} if (arr[mid] > num){

/* key is in lower subset of array */

BinarySearch (arr, num, first, mid-1);

} else if (arr[mid] < num) {

/* Key is in higher subset */

BinarySearch (arr, num, mid +1 , last);
}
}
```

## Program to Implement Binary Search using Recursion

```#include <stdio.h>
#include <stdlib.h>
void BinarySearch(int arr[],int num,int first,int last){
if(first > last){
} else {
int mid;
mid = (first + last)/2;
if(arr[mid]==num){
printf("Element is found at index %d ",mid);
exit(0);
}else if(arr[mid]>num){
BinarySearch(arr,num,first, mid-1);
}else{
BinarySearch(arr,num, mid+1, last);
}
}
}
main()
{
int arr[] = {2,5,7,9,12,15,18};
int num = 9;
int first =0 , last = (sizeof(arr)/sizeof(arr[0]))-1;
BinarySearch(arr,num,first,last);
}```

Binary Search is a searching algorithm that finds the value in a sorted array in O(logN) time complexity. In my previous post i discuss how to implement binary search using iterative method. In this post i’ll explain how to implement binary search using recursion.

Posted on 05-10-2016

#### Comment:

To comment you must be logged in members.

## Files with category

• ### Twitter-like Hashtag Function in PHP

Category: Php&mySql     Fields: none

If you ever want a function to hashtag and style words within a string which has '#' next to it like twitter. This piece of code will help

• ### PSITS Automated Voting System

Category: Php&mySql     Fields: none

A free sourcecode for PSITS Automated Voting System develop in PHP programming language. The purposed of the system is to automate the process of voting and maintain the quality of data

• ### PHP-University Application System

Category: Php&mySql     Fields: none

Greeting from Malawi the warm heart of Africa. I developed this university registration system project just to share with the people who can make use of the project like this and at the same time for others like students who can learn from it. This...

• ### School Event Management System in PHP/MSQLi

Category: Php&mySql     Fields: none

This School Event Management System can create school events such as Volleyball games, Basketball, Cultural presentation, Election of school officers etc . During school election Instead of having a compile list of candidates and voters this system...

• ### Resort Reservation System with PayPal/Credit Card/Debit Card Payment

Category: Php&mySql     Fields: none

This reservation system has the ability to help its customers find available rooms, cottages and even function hall for their convenience . And in here, they will also have the idea of the room rates where they can quickly reserve for their family...

• ### Activity log

Category: Php&mySql     Fields: none

Simple program to track user's activity log-in time and online/offline status.

• ### Electricks - eCommerce

Category: Php&mySql     Fields: none

Electricks is an e-commerce website built using PHP, Bootstrap and some jQuery plugins. It has all the major functionalities of a typical e-shop. This project was used to present in Southern Luzon State University - Lucban. Feel free to use this code...

• ### Simple Email App Using PHP

Category: Php&mySql     Fields: none

Creating a simple PHP script using mail function for sending out emails.

File suggestion for you
• HTML-CSS template - 521 view People love naming things. And developers love acronyms. And thus here we are, finding ourselves with all of these CSS naming conventions and...

• Javascript - 354 view This puzzle has been asked. In this java puzzle, you have a series of numbers start (e.g. 1….N) and exactly one number in this series is missing. You...

• CorelDRAW Graphics - 817 view Combine (Ctrl + L): link object, the intersection of the objects will be created by the empty area.

• Codeigniter - 799 view I want that the typeahead list will show a list of names, and when I select one of the name to write the id value to a hidden field.

• HTML-CSS template - 1264 view capable of bending or being bent, able to be easily modified to respond to altered circumstances or conditions.

File suggestion for you
• HTML-CSS template - 521 view People love naming things. And developers love acronyms. And thus here we are, finding ourselves with all of these CSS naming conventions and...

• Javascript - 354 view This puzzle has been asked. In this java puzzle, you have a series of numbers start (e.g. 1….N) and exactly one number in this series is missing. You...

• CorelDRAW Graphics - 817 view Combine (Ctrl + L): link object, the intersection of the objects will be created by the empty area.

• Codeigniter - 799 view I want that the typeahead list will show a list of names, and when I select one of the name to write the id value to a hidden field.

• HTML-CSS template - 1264 view capable of bending or being bent, able to be easily modified to respond to altered circumstances or conditions.

File suggestion for you
• HTML-CSS template - 521 view People love naming things. And developers love acronyms. And thus here we are, finding ourselves with all of these CSS naming conventions and...

• Javascript - 354 view This puzzle has been asked. In this java puzzle, you have a series of numbers start (e.g. 1….N) and exactly one number in this series is missing. You...

• CorelDRAW Graphics - 817 view Combine (Ctrl + L): link object, the intersection of the objects will be created by the empty area.

• Codeigniter - 799 view I want that the typeahead list will show a list of names, and when I select one of the name to write the id value to a hidden field.

• HTML-CSS template - 1264 view capable of bending or being bent, able to be easily modified to respond to altered circumstances or conditions.

File suggestion for you
• HTML-CSS template - 521 view People love naming things. And developers love acronyms. And thus here we are, finding ourselves with all of these CSS naming conventions and...

• Javascript - 354 view This puzzle has been asked. In this java puzzle, you have a series of numbers start (e.g. 1….N) and exactly one number in this series is missing. You...

• CorelDRAW Graphics - 817 view Combine (Ctrl + L): link object, the intersection of the objects will be created by the empty area.

• Codeigniter - 799 view I want that the typeahead list will show a list of names, and when I select one of the name to write the id value to a hidden field.

• HTML-CSS template - 1264 view capable of bending or being bent, able to be easily modified to respond to altered circumstances or conditions.

Mega tags
Mega tags
Mega tags
Mega tags
• Javascript - 238 view Bing Search API is a set of REST interfaces that find web pages, news,...

• HTML-CSS template - 408 view Pinkrio is a strong and powerful XHTML/CSS template with a clean and...

• PostgreSQL - 1320 view In this article, I want to show some operations in both PostgreSQL &...

• Java mobile - 763 view If you missed the premiere of one of our virtual tech summits you'll...

• Mobile applications - 214 view In this tutorial we will try to create a Simple Image Viewer using...

• Embedded Systems - 1456 view Termie opens a serial port and logs data received to a window. It is...

• Javascript - 448 view I have tried to collect some top spring core interview questionswhich...

• Javascript - 348 view So far in previous tutorials, we have learned about securing your...

• Javascript - 666 view Working with CSV files is not common, but it may be required at times...

• Development Tools - 829 view nteractive analysis is a cycle analysis procedure of assumption,...

• Javascript - 238 view Bing Search API is a set of REST interfaces that find web pages, news,...

• HTML-CSS template - 408 view Pinkrio is a strong and powerful XHTML/CSS template with a clean and...

• PostgreSQL - 1320 view In this article, I want to show some operations in both PostgreSQL &...

• Java mobile - 763 view If you missed the premiere of one of our virtual tech summits you'll...

• Mobile applications - 214 view In this tutorial we will try to create a Simple Image Viewer using...

• Embedded Systems - 1456 view Termie opens a serial port and logs data received to a window. It is...

• Javascript - 448 view I have tried to collect some top spring core interview questionswhich...

• Javascript - 348 view So far in previous tutorials, we have learned about securing your...

• Javascript - 666 view Working with CSV files is not common, but it may be required at times...

• Development Tools - 829 view nteractive analysis is a cycle analysis procedure of assumption,...

• Javascript - 238 view Bing Search API is a set of REST interfaces that find web pages, news,...

• HTML-CSS template - 408 view Pinkrio is a strong and powerful XHTML/CSS template with a clean and...

• PostgreSQL - 1320 view In this article, I want to show some operations in both PostgreSQL &...

• Java mobile - 763 view If you missed the premiere of one of our virtual tech summits you'll...

• Mobile applications - 214 view In this tutorial we will try to create a Simple Image Viewer using...

• Embedded Systems - 1456 view Termie opens a serial port and logs data received to a window. It is...

• Javascript - 448 view I have tried to collect some top spring core interview questionswhich...

• Javascript - 348 view So far in previous tutorials, we have learned about securing your...

• Javascript - 666 view Working with CSV files is not common, but it may be required at times...

• Development Tools - 829 view nteractive analysis is a cycle analysis procedure of assumption,...

• Javascript - 238 view Bing Search API is a set of REST interfaces that find web pages, news,...

• HTML-CSS template - 408 view Pinkrio is a strong and powerful XHTML/CSS template with a clean and...

• PostgreSQL - 1320 view In this article, I want to show some operations in both PostgreSQL &...

• Java mobile - 763 view If you missed the premiere of one of our virtual tech summits you'll...

• Mobile applications - 214 view In this tutorial we will try to create a Simple Image Viewer using...

• Embedded Systems - 1456 view Termie opens a serial port and logs data received to a window. It is...

• Javascript - 448 view I have tried to collect some top spring core interview questionswhich...

• Javascript - 348 view So far in previous tutorials, we have learned about securing your...

• Javascript - 666 view Working with CSV files is not common, but it may be required at times...

• Development Tools - 829 view nteractive analysis is a cycle analysis procedure of assumption,...

IT News
IT News
IT News
IT News