File:Binary Search Depiction.svg

頁面內容唔支援其他語言。
出自維基百科,自由嘅百科全書

原本檔案(SVG檔案,表面大細: 470 × 200 像素,檔案大細:6 KB)

摘要

描述
English: This is an example of a binary search steps through time. Source code and output:
int[] numbersArray = {1,3,4,6,7,8,10,13,14,18,19,21,24,37,40,45,71};
public boolean binarySearchAlgorithm(int targetNumber, int[] numbers)
{
    int lowerLimit = 0;
    int upperLimit = numbers.length - 1;

    while (upperLimit >= lowerLimit)
    {
        int middleNumber = (lowerLimit + upperLimit)/2;

        if (numbers[middleNumber] == targetNumber)
        {
            return true;
        }
        if (numbers[middleNumber] < targetNumber)
        {
            lowerLimit = middleNumber + 1;
        }
        if (numbers[middleNumber] > targetNumber)
        {
            upperLimit = middleNumber - 1;
        }
    }
    return false;
}
System.out.println(binarySearchAlgorithm(7, numbersArray)); //prints "true"

iteration 1

  1. low = 0
  2. high = 16
  3. middle = (0+16)/2 = 16/2 = 8
  4. 7 (target at index 4) < 14 (middle at index 8)
  5. high = middle - 1 = 7

iteration 2

  1. low = 0
  2. high = 7
  3. middle = (0+7)/2 = 7/2 = 3 R 1
  4. 7 (target at index 4) > 6 (middle at index 3)
  5. low = middle + 1 = 4

iteration 3

  1. low = 4
  2. high = 7
  3. middle = (4+7)/2 = 11/2 = 5 R 1
  4. 7 (target at index 4) < 8 (middle at index 5)
  5. high = middle - 1 = 4

iteration 4

  1. low = 4
  2. high = 4
  3. middle = (4+4)/2 = 8/2 = 4
  4. 7 (target at index 4) == 7 (middle at index 4)
日期
來源 自己作品
作者 AlwaysAngry

協議

我,呢份作品嘅作者,決定用以下許可發佈呢件作品:
w:en:Creative Commons
署名 相同方式分享
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
你可以:
  • 去分享 – 複製、發佈同傳播呢個作品
  • 再改 – 創作演繹作品
要遵照下面嘅條件:
  • 署名 – 你一定要畀合適嘅表彰、畀返指向呢個授權條款嘅連結,同埋寫明有無改過嚟。你可以用任何合理方式去做,但唔可以用任何方式暗示授權人認可咗你或者你嘅使用方式。
  • 相同方式分享 – 如果你用任何方式改過呢個作品,你必須要用返原本或者相似嘅條款發佈。

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

圖中顯示嘅係

creator 英文

some value

author name string 英文AlwaysAngry

30 11 2016

image/svg+xml

b8165b6ea1ea892f92e32bae011e05e71bc5fcd2

5,806 字節

200 像素

470 像素

檔案歷史

撳個日期/時間去睇響嗰個時間出現過嘅檔案。

日期/時間縮圖尺寸用戶註解
現時2016年12月1號 (四) 15:33響2016年12月1號 (四) 15:33嘅縮圖版本470 × 200(6 KB)AlwaysAngryUser created page with UploadWizard

以下嘅2版用到呢個檔:

全域檔案使用情況

下面嘅維基都用緊呢個檔案:

Metadata