• ¡Welcome to Square Theme!
  • This news are in header template.
  • Please ignore this message.
مهمان عزیز خوش‌آمدید. ورود عضــویت


امتیاز موضوع:
  • 12 رای - 2.75 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Title: تابع جستجو ی دودویی (Binary Search) در C++
حالت موضوعی
#1
در این روش جستجو حتما باید آرایه مرتب شده باشد (پیش فرض صعودی) و سپس
عنصر جستجو شونده با عنصر وسط آرایه مقایسه میشود. اگر برابر بود که جستجو
پایان می پذیرد والا اگر بزرگتر بود، به نیمه ی بالایی آرایه رفته و مجددا
با عنصر وسط آن مقایسه میشود و اگر کوچکتر باشد به نیمه ی پایین آرایه رفته
و با عنصر وسط آن محدوده مقایسه صورت میگیرد. این عمل تا تایید شدن عنصر
مورد نظر یا رسیدن به جایی که دیگر امکان نصف کردن آرایه وجود نداشته باشد،
ادامه می یابد.
کد:
int binarySearch(int arr[], int len, int pat)
{
    int mid, low=0, high=len-1;
    while(low<=high)
    {
        mid=(low+high)/2;
        if(pat<arr[mid])
            high=mid-1;
        else if(pat>arr[mid])
            low=mid+1;
        else
            return mid;
    }
    return -1;
}
 
پاسخ
  


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال راجع به یک تابع به زبان c++ و وظیفه ان در انتی فیشینگ elham_zare 3 5,892 08-21-2012، 12:25 PM
آخرین ارسال: Amin_Mansouri
  تابع جستجو ترتیبی (Linear Search) در C++ Ghoghnus 0 5,410 05-24-2012، 10:19 PM
آخرین ارسال: Ghoghnus
  تابع strcspn Ghoghnus 0 2,719 05-24-2012، 10:11 PM
آخرین ارسال: Ghoghnus

پرش به انجمن:


Browsing: 1 مهمان