不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • 数据结构

    • 01.数据结构
    • 02.栈
    • 03.队列
    • 04.链表
    • 05.数组
    • 06.字典
    • 07.树
    • 08.B+tree
    • 09.hash树
    • 10.红黑树
    • 11.二分查找
      • 12.LowB三人组
      • 13.快排
      • 99.时间复杂度
    • 算法基础

    • 算法题分类

    • 算法
    • 数据结构
    xiaonaiqiang
    2021-03-04
    目录

    11.二分查找

    https://www.cnblogs.com/xiaonq/p/8573587.html

    # 01.二分查找

    # 1.1 python

    l = list(range(1,101))
    def bin_search(data_set,val):
       low = 0
       high = len(data_set) - 1
       while low <= high:
          mid = (low+high)//2
          if data_set[mid] == val:
             return mid
          elif data_set[mid] < val:
             low = mid + 1
          else:
             high = mid - 1
       return
    n = bin_search(l,11)
    print(n)            # 返回结果是: 10
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    # 1.2 golang

    package main
    import "fmt"
    
    func bin_search(arr []int, finddata int) int {
    	low := 0
    	high := len(arr) - 1
    	for low <= high {
    		mid := (low + high) / 2
    		if arr[mid] > finddata {
    			high = mid - 1
    		} else if arr[mid] < finddata {
    			low = mid + 1
    		} else {
    			return mid
    		}
    	}
    	return -1
    }
    
    func main() {
    	arr := []int{1,3,4,5,6,7,8,9}
    	id := bin_search(arr, 4)
    	if id != -1 {
    		fmt.Println(id, arr[id])    // 2 4
    	} else { 
    		fmt.Println("没有找到数据")
    	}
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    上次更新: 2024/3/13 15:35:10
    10.红黑树
    12.LowB三人组

    ← 10.红黑树 12.LowB三人组→

    最近更新
    01
    04.数组双指针排序_子数组
    03-25
    02
    08.动态规划
    03-25
    03
    06.回溯算法
    03-25
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式