1427 二分搜尋

2021-10-12 10:29:18 字數 861 閱讀 8626

題目描述

在有序序列中查詢某一元素x。

輸入

首先輸入乙個正整數n(n<=100000),表示該序列有n個整數,然後按從小到大的順序輸入n個整數;

接著是乙個正整數m,表示有m次查詢;

最後是m個整數,表示m個要查詢的整數x。

輸出

對於每乙個次查詢,有一行輸出。若序列中存在要查詢的元素x,則輸出元素x在序列中的序號(序號從0開始);若序列中不存在要查詢的元素x,則輸出"not found!"。

樣例輸入

513

57911

-112

3456

78910

樣例輸出

not found!

0not found!

1not found!

2not found!

3not found!

4not found!

ac:

#include

#include

intmain()

if(a[mid-1]

>x)hight=mid-1;

else low=mid+1;

}if(flag==1)

printf

("%d\n"

,mid-1)

;else

printf

("not found!\n");

}return0;

}

Java 二分搜尋 二分查詢

對陣列元素進行逐個查詢顯然是費時費力的工作,我們可以使用一些方法快速地搜尋出陣列中元素的指定位置.接下來我們介紹一種方法 二分搜尋法 二分搜尋法充分利用了元素間的次序關係.基本思想 將n元素分成個數大致相同的涼拌,取arr n 2 與欲查詢的x做比較,如果 下面將採用兩種方式 遞迴 非遞迴 來展示二...

二分(二分答案 二分搜尋)與單調性

經典二分搜尋是二分空間範圍。二分答案又叫二分猜值,是二分解的值空間。其實可以統一,普通的二分搜尋也是二分答案值域 下標空間,也是猜值。二分必須滿足單調性,最直觀的,二分搜尋只能在有序陣列上進行。單調性體現在,下標和元素值是單調的,也就是 if j i 有 a j a i 一般二分答案解決的問題是最優...

演算法 二分搜尋

思路 首先從陣列中間的數把陣列分成兩部分,如果查詢的數比中間的數大,說明接下來需要查詢右邊的部分,令中間的的下標 1為下一次開始查詢的開始位置,再從low到high之間查詢,一直迴圈。root bogon code cat erfen.c include int work int x,int a,i...