Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,880 questions

51,806 answers

573 users

How to implement recursive binary search in Go

1 Answer

0 votes
package main

import (
    "fmt"
)

func recursiveBinarySearch(arr []int, left int, right int, toFind int) int {
    if right >= left {
        mid := left + (right - left) / 2

        if arr[mid] == toFind {
            return mid
        }

        if arr[mid] > toFind {
            return recursiveBinarySearch(arr, left, mid-1, toFind)
        }

        return recursiveBinarySearch(arr, mid+1, right, toFind)
    }

    return -1
}

func main() {
    arr := []int{2, 3, 6, 7, 12, 14, 16, 17, 19, 21, 29, 32}
    toFind := 16

    index := recursiveBinarySearch(arr, 0, len(arr)-1, toFind)

    if index == -1 {
        fmt.Println("not found")
    } else {
        fmt.Printf("Found at index: %d\n", index)
    }
}




/*
run:
   
Found at index: 6
  
*/

 



answered Dec 13, 2024 by avibootz

Related questions

3 answers 246 views
1 answer 78 views
1 answer 106 views
1 answer 85 views
1 answer 78 views
1 answer 82 views
1 answer 97 views
...