English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية Java الأساسية

تحكم العملية Java

مجموعات Java Array

Java توجيه الأحداث (I)

Java توجيه الأحداث (II)

Java توجيه الأحداث (III)

معالجة الاستثنائات Java

قائمة Java List

Java Queue (الطابور)

مجموعات Java Map

مجموعات Java Set

مدخلات/مدخلات Java (I/O)

قراءات/كتابة Java

موضوعات أخرى في Java

Java برمجة خوارزمية البحث الثنائي

جميع الأمثلة على Java

في هذا المثال، سنتعلم تنفيذ خوارزمية البحث الثنائي في Java.

قبل تعلم تنفيذ البحث الثنائي في Java، تأكد من فهمك لعملية خوارزمية البحث الثنائي.

مثال: برنامج Java لتنفيذ خوارزمية البحث الثنائي

import java.util.Scanner;
//البحث الثنائي في Java
class Main {
  int binarySearch(int array[], int element, int low, int high) {
    //تكرار هذا العمل حتى يكون الموضع العالي (high) والموضع المنخفض (low) متساويين
    while (low <= high) {
      //الحصول على موقع العنصر في mid
      int mid = low + (high - low) / 2;
      //إذا كان العنصر الذي سيتم البحث عنه هو العنصر في mid
      if (array[mid] == element)
        return mid;
      //إذا كان العنصر أصغر من العنصر في mid
      //البحث فقط في اليسار من mid
      if (array[mid] < element)
        low = mid + 1;
      //إذا كان العنصر أكبر من العنصر في mid
      //البحث فقط في اليمين من mid
      else
        high = mid - 1;
    {}
    return -1;
  {}
  public static void main(String args[]) {
    //إنشاء موضوع من الفئة Main
    Main obj = new Main();
    //إنشاء مجموعة مرتبة
    int[] array = {3, 4, 5, 6, 7, 8, 9};
    int n = array.length;
    //الحصول على إدخال من المستخدم، العنصر الذي سيتم البحث عنه
    Scanner input = new Scanner(System.in);
    System.out.println("إدخال العنصر الذي سيتم البحث عنه:");
    //العنصر الذي سيتم البحث عنه
    int element = input.nextInt();
    input.close();
    //دعوة طريقة البحث الثنائي
    //تمرير المعلمات: المجموعة، العنصر، وموقع العنصر الأول والأخير
    int result = obj.binarySearch(array, element, 0, n - 1);
    if (result == -1)
      System.out.println("لا تم العثور على العنصر");
    else
      System.out.println("إيجاد العنصر، في الموقع " + result);
  {}
{}

الإخراج 1

إدخال العنصر الذي سيتم البحث عنه:
6
إيجاد العنصر، في الموقع 3

في هذا المكان، قمنا باستخداممتصفح Javaالحصول على إدخال من المستخدم. بناءً على إدخال المستخدم، قمنا باستخدام البحث الثنائي لتحقق من وجود العنصر في المجموعة.

نستطيع أيضًا استخدام اللفظ المتكرر للتنفيذ نفس المهمة.

  int binarySearch(int array[], int element, int low, int high) {
    if (high >= low) {
      int mid = low + (high - low) / 2;
      //التحقق من أن عنصر mid هو العنصر الذي يتم البحث عنه
      if (array[mid] == element)
        return mid;
      //البحث في الجزء الأيسر من mid
      if (array[mid] > element)
        return binarySearch(array, element, low, mid - 1);
      //البحث في الجزء الأيمن من mid
      return binarySearch(array, element, mid + 1, high);
    {}
    return -1;
  {}

في هذا السياق، سيتم استدعاء هذا الطريقة binarySearch() نفسها حتى يتم العثور على العنصر أو فشل شرط if.

جميع الأمثلة على Java