الگوریتم جستجوی دودویی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز ویرایش 5.73.227.110 (بحث) به آخرین تغییری که مهراد قطب الدینی انجام داده بود واگردانده...
جز سوال به سؤال، replaced: سوال ← سؤال (3) با استفاده از AWB
خط ۹:
پیدا کردن اندیس یک عنصر خاص در یک لیست مرتب شده مفید است زیرا با استفاده از اندیس داده شده می‌توان به سایر اطلاعات مربوطه دست یافت.
 
فرض کنید داده ساختاری شامل مجموعه‌ای از اطلاعات نام٫ آدرس و شماره تلفن و غیره‌است و [[آرایه]] ای که نام‌ها را در بر دارد از ۱ تا N شماره گذاری شده‌است، یک در خواست می‌تواند این باشد: شماره فردی به نام X چند است. برای پاسخ دادن به این سوالسؤال [[آرایه]] مورد نظر باید جستجو شده و اندیس مربوط به نام داده شده در صورت وجود برگردانده شود، در این حالت شماره تلفن ذخیره شده در آرایه تلفن‌ها در این اندیس، همان شماره فرد X است و به همین ترتیب برای آدرس و غیره نیز می‌توان عمل کرد.
== خواص درخت دودویی ==
 
خط ۳۷:
این بازی‌های ساده با چیزی شبیه این شروع می‌شوند:" من عددی را بین ۴۰ و ۶۰ در نظر گرفته‌ام و تو آن را حدس می‌زنی و من با این پاسخ‌ها تو را راهنمایی می‌کنم: کمتر، بیشتر و بله!
 
فرض کنید تعداد اعداد ممکن برابر N است، بنابراین <math>\lceil\log_2 N\rceil </math> سوالسؤال لازم است تا عدد مورد نظر پیدا شود چون هر سوالسؤال فضای جستجو را نصف می‌کند.
 
حتی اگر محدودهٔ اعداد مورد نظر نا محدود باشد(یعنی توسط N محدود نشده باشد) باز هم می‌توان با حداکثر <math>2\lceil \log_2 k \rceil </math> مرحله(که K عدد انتخاب شده‌است) عدد مورد نظر را یافت .بدین ترتیب که با شروع از یک و دو برابر کردن آن در هر مرحله ابتدا مرز بالایی را پیدا نموده و سپس عدد خواسته شده را پیدا می‌کنیم. به عنوان مثال اگر عدد انتخاب شده ۱۱ باشد ما می‌توانیم ترتیب پرسش‌های زیر را برای پیدا کردن عدد دنبال کنیم: ۱ ← ۲ ← ۴ ← ۸ ← ۱۶ ← ۱۲ ← ۱۰ ← ۱۱.
خط ۸۹:
{{پانویس}}
{{چپ‌چین}}
* [[دانلد کنوت]]. ''The Art of Computer Programming'', Volume 3: ''Sorting and Searching'', Third Edition. Addison-Wesley, 1997. ISBN 0-201-89685-0. Section 6.2.1: Searching an Ordered Table, pp.&nbsp;409–426.
* Kruse, Robert L.: "Data Structures and Program Design in C++", Prentice-Hall, 1999, ISBN 0-13-768995-0, page 280.
* http://en.wikipedia.org/wiki/Binary_search_algorithm