![]() |
راهنمایی در مورد جستجوی دودویی - نسخهی قابل چاپ |
راهنمایی در مورد جستجوی دودویی - poldasht - 17 شهریور ۱۳۹۲ ۰۳:۳۹ ب.ظ
سلام, در کتاب مدرسان شریف در پاسخ یکی از سوالات چنین نوشته شده بود: برای جستجوی ناموفق عدد -۱ در آرایه پایین، دو مقایسه لازم است. [۱,۳,۵,۹,۱۱] اما سوالم اینه که بر چه اساسی ۲ مقایسه انجام میشه، البته براحتی می تونم مقایسه ۵ یا ۴ را محاسبه کنم اما -۱ رو نمی دونم چرا ۲ بار شده!؟ لطفا اگر اطلاعات کافی نبودند، هر چه لازم دارید بفرمایید تا تکمیلش کنم. |
RE: راهنمایی در مورد جستجوی دودویی - azad_ahmadi - 17 شهریور ۱۳۹۲ ۰۳:۵۱ ب.ظ
سلام. سوال ساده ای هست. روند جستجوی دودویی رو بر روی اعداد داده شده اعمال کنید. می دونیم که -۱ در میان عناصر نیست، پس سوال رو میشه به این صورت پرسید:"بعد از چند بار مقایسه متوجه میشویم که -۱ در میان عناصر وجود ندارد". ابتدا بر اساس جستجوی دودویی -۱ با ۵ مقایسه میشه (بر اساس ۲/ (mid = (low+high) و چون -۱ از ۵ کوچکتر هست به قسمت پایینی عناصر (یعنی ۳ ۱ ) مراجعه میکنه. باز روند جستجو رو از سر میگیریم. طبق همین فرمول بالا -۱ با mid که ۱ باشه مقایسه میشه. پس در کل برای عدم موفقیت جستجوی -۱ در عناصر صورت سوال، ۲ مقایسه (با اعداد ۵ و ۱) انجام میشه. |
RE: راهنمایی در مورد جستجوی دودویی - poldasht - 17 شهریور ۱۳۹۲ ۰۳:۵۸ ب.ظ
(۱۷ شهریور ۱۳۹۲ ۰۳:۵۱ ب.ظ)azad_ahmadi نوشته شده توسط: سلام. خیلی ممنونم، از قدیم گفته اند مسئله که حل شود آسان شود، واقعا حق با شماست! متشکرم. |