当前位置:网站首页>Binary search
Binary search
2022-07-05 20:51:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack , I've prepared for you today Idea Registration code .
Binary Search
Jon Bentley I have said similar words before :“90% The program ape of cannot correctly implement the binary search algorithm
Just write this sentence binary search
binary_search Algorithm implementation part of
/*********************************************************
code writer : EOF
code file : binary_search.c
code date : 2014.9.18
e-mail : [email protected]
description:
You may have to KNOW that the @array was
sequenced from min to max when you use "binary search".
If this function find the element , return the
location in the @array, otherwise return -1.
********************************************************/
#include <stdio.h>
int binary_search(int* array,int size,int element)
{
if(!array)
{
printf("You passed NULL into function: %s()\n",__FUNCTION__);
return -1;
}
int low = 0;
int mid = 0;
int high= 0;
for(low = 0,high = size-1;low <= high;)
{
mid = (low+high)/2;
if(array[mid] < element)
{
low = mid+1;
}
else if(array[mid] > element)
{
high = mid-1;
}
else
{
/*
** found that.
*/
return mid;
}
}
return -1;
}
Test procedure
#include <stdio.h>
#include "binary_search.h"
int main()
{
int number[10] = {0,2,6,8,10,15,18,40,99};
int what_i_want = 18;
int ret = 0;
ret = binary_search(number,sizeof(number)/sizeof(number[0]),what_i_want);
if(ret < 0)
{
printf("Not found!\n");
return 0;
}
printf("location:%d number[%d]:%d\n",ret,ret,number[ret]);
return 0;
}
update:2015.1.8
Join in python Implementation of version number
'''
Code writer : EOF
Code date : 2015.01.08
Code file : bs.py
e-mail : [email protected]
Code description:
Here is a implementation for
how to do binary search in Python.
'''
def binary_search(array, element):
high = len(array)
mid = -1
for low in range(len(array)) :
mid = (low + high)/2
if array[mid] < element :
low = mid + 1
elif array[mid] > element :
high = mid - 1
else :
return mid
return -1
def main():
number = [1,2,3,4,5]
print number
print number[binary_search(number,3)]
main()
Copyright notice : This article is an original blog article , Blog , Without consent , Shall not be reproduced .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/117659.html Link to the original text :https://javaforall.cn
边栏推荐
- Abnova 环孢素A单克隆抗体,及其研究工具
- The Chinese Academy of Management Sciences gathered industry experts, and Fu Qiang won the title of "top ten youth" of think tank experts
- Is it safe to open a stock account by mobile phone? My home is relatively remote. Is there a better way to open an account?
- 概率论机器学习的先验知识(上)
- Welcome to the game and win rich bonuses: Code Golf Challenge officially launched
- Abnova DNA marker high quality control test program
- Duchefa p1001 plant agar Chinese and English instructions
- 最长摆动序列[贪心练习]
- Implementation of redis unique ID generator
- 渗透创客精神文化转化的创客教育
猜你喜欢
随机推荐
AI automatically generates annotation documents from code
学习机器人无从下手?带你体会当下机器人热门研究方向有哪些
Is the securities account given by the school of Finance and business safe? Can I open an account?
Which securities is better for securities account opening? Is online account opening safe?
Is it safe to open a stock account by mobile phone? My home is relatively remote. Is there a better way to open an account?
MySQL InnoDB架构原理
ClickHouse 复制粘贴多行sql语句报错
Analysis of steam education mode under the integration of five Education
Kubernetes resource object introduction and common commands (V) - (configmap & Secret)
hdu2377Bus Pass(构建更复杂的图+spfa)
CADD course learning (7) -- Simulation of target and small molecule interaction (semi flexible docking autodock)
Abbkine丨TraKine F-actin染色试剂盒(绿色荧光)方案
Which is the best online collaboration product? Microsoft loop, notion, flowus
[quick start of Digital IC Verification] 2. Through an example of SOC project, understand the architecture of SOC and explore the design process of digital system
Abbkine BCA法 蛋白质定量试剂盒说明书
Specification of protein quantitative kit for abbkine BCA method
2020 CCPC Weihai - A. golden spirit (thinking), D. ABC project (big number decomposition / thinking)
AI 从代码中自动生成注释文档
基於flask寫一個接口
当用户登录,经常会有实时的下拉框,例如,输入邮箱,将会@qq.com,@163.com,@sohu.com