خرید بک لینک

این فایل در ۱۰اسلاید قابل ویرایش تهیه شده وشامل موارد زیر است:

الگوریتم جستجوی دودویی (به انگلیسی: Binary Search)، تکنیکی است برای یافتن یک مقدار عددی از میان مجموعهای از اعداد مرتب. این متد محدودهٔ جستجو را در هر مرحله به نصف کاهش میدهد، بنابراین هدف مورد نظر یا به زودی پیدا میشود و یا مشخص میشود که مقدار مورد جستجو در فهرست وجود ندارد.

جستجوی دودویی فقط در آرایه های مرتب استفاده می شود.در این روش عنصر مورد نظر با خانه وسط آرایه مقایسه می شود اگر با این خانه برابر بود جستجو تمام می شود اگر عنصر مورد جستجو از خانه وسط بزرگتر بود جستجو در بخش بالایی آرایه و در غیر این صورت جستجو در بخش پایینی آرایه انجام می شود(فرض کرده ایم آرایه به صورت صعودی مرتب شده است) این رویه تا یافتن عنصر مورد نظر یا بررسی کل خانه های آرایه ادامه می یابد.

جستجوی دودویی نمونهای از الگوریتمهای تقسیم و غلبه (به انگلیسی: Divide and conquer) میباشد.

پیدا کردن اندیس یک عنصر خاص در یک لیست مرتب شده مفید است زیرا با استفاده از اندیس داده شده میتوان به سایر اطلاعات مربوطه دست یافت.

فرض کنید داده ساختاری شامل مجموعهای از اطلاعات نام٫ آدرس و شماره تلفن و غیرهاست و آرایه ای که نامها را در بر دارد از ۱ تا N شماره گذاری شدهاست، یک در خواست میتواند این باشد: شماره فردی به نام X چند است. برای پاسخ دادن به این سوال آرایه مورد نظر باید جستجو شده و اندیس مربوط به نام داده شده در صورت وجود برگردانده شود، در این حالت شماره تلفن ذخیره شده در آرایه تلفنها در این اندیس، همان شماره فرد X است و به همین ترتیب برای آدرس و غیره نیز میتوان عمل کرد.

n تعداد گره ها در یک درخت دودویی کامل است و با استفاده از این فرمول می توان آنرا یافت n = 2^{h+1}-1 (در آن h عمق درخت است) N تعداد گره ها در یک درخت دودویی کامل است حداقل برابر n = 2^{h} و حداکثر برابرn = 2^{h+1}-1 ( h عمق درخت است) L تعدادی از گره های برگ در درخت دودویی کامل است و با استفاده از فرمول L = 2^h محاسبه می گردد.

N تعداد گره ها در یک درخت دودویی کامل نیز می تواند با استفاده فرمول n = 2L-1 محاسبه می شود.(L، تعدادی از گره های برگ در درخت است.)

تعدادی از لینک های تهی (فرزندان غایب از گره ها) در یک درخت دودویی کامل از n گره(n+1) تعداد n-L از گره های داخلی در یک درخت دودویی کامل از n گره (گره های غیر برگ) lfloor n/2 rfloor. برای هر درخت غیر تهی با گره های برگ n_0 و n_2 گره ها از درجه ۲ n_0 = n_2 + 1.

اثبات:

N = تعداد کل گره B = تعداد شاخه ها

n0, n1, n2 برای نشان دادن تعداد گره بدون فرزند، تنها یک فرزند و دو فرزند بود

B = n – 1 (از آنجا که تمام گره ها به جز گره ریشه از شاخه واحد)

B = n1 + 2*n2

n = n1+ 2*n2 + 1

n = n0 + n1 + n2

n1+ 2*n2 + 1 = n0 + n1 + n2 ==> n0 = n2 + 1

بازی های حدس شماره[ویرایش]

این بازیهای ساده با چیزی شبیه این شروع میشوند:” من عددی را بین ۴۰ و ۶۰ در نظر گرفتهام و تو آن را حدس میزنی و من با این پاسخها تو را راهنمایی میکنم: کمتر، بیشتر و بله!

فرض کنید تعداد اعداد ممکن برابر N است، بنابراین lceillog_2 Nrceil سوال لازم است تا عدد مورد نظر پیدا شود چون هر سوال فضای جستجو را نصف میکند.

حتی اگر محدودهٔ اعداد مورد نظر نا محدود باشد(یعنی توسط N محدود نشده باشد) باز هم میتوان با حداکثر ۲lceil log_2 k rceil مرحله(که K عدد انتخاب شدهاست) عدد مورد نظر را یافت .بدین ترتیب که با شروع از یک و دو برابر کردن آن در هر مرحله ابتدا مرز بالایی را پیدا نموده و سپس عدد خواسته شده را پیدا میکنیم. به عنوان مثال اگر عدد انتخاب شده ۱۱ باشد ما میتوانیم ترتیب پرسشهای زیر را برای پیدا کردن عدد دنبال کنیم: ۱ ← ۲ ← ۴ ← ۸ ← ۱۶ ← ۱۲ ← ۱۰ ← ۱۱.

هم چنین میتوان این تکنیک را گسترش داد تا شامل اعداد منفی نیز بشود، به عنوان مثال حدس های زیر دنبال میشوند تا عدد ۱۳- پیدا شود: ۰ ← ۱- ← ۲- ← ۴- ← ۸- ← ۱۶- ← ۱۲- ← ۱۴- ← ۱۳-.

لیست های کلمات[ویرایش]

انسان ها معمولاً ترکیبی از جستجوی دودویی و الگوریتم های جستجوی الحاقی را هنگام جستجوی دفترچه تلفن به کار میبرند. بعد از حدس اولیه ما از این حقیقت استفاده می کنیم که ورودی ها مرتب اند و درنتیجه سریع تر به هدف می رسیم.مثلاً وقتی به دنبال “کریمی” می گردیم اگر “گنجی” و “قلی پور” پیدا شوند ما میتوانیم به صفحهای بین حدس های قبلی مراجعه کنیم و اگر مثلاً “کمالی” را نشان میداد می دانیم که صفحهٔ مورد نظر جایی بین “قلی پور” و “کمالی” خواهد بود.

خرید و دانلود

با قیمت 5,000 تومان

- - , .

برچسب: نویسنده: استخدام کار تاريخ: چهارشنبه 12 اسفند 1394 ساعت: 8:11

صفحه بندی