![]() |
تعداد مقایسه در یافتن دومین کوچکترین عنصر - نسخهی قابل چاپ |
تعداد مقایسه در یافتن دومین کوچکترین عنصر - Donna - 14 اردیبهشت ۱۳۹۲ ۱۰:۱۸ ب.ظ
سلام. چرا گزینه یک درسته؟ مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. |
RE: تعداد مقایسه در یافتن دومین کوچکترین عنصر - Farid_Feyzi - 14 اردیبهشت ۱۳۹۲ ۱۰:۵۰ ب.ظ
(۱۴ اردیبهشت ۱۳۹۲ ۱۰:۱۸ ب.ظ)Arshad92 نوشته شده توسط: سلام. سلام تعداد n-1 مقایسه برای پیدا کردن اولین کوچکترین لازمه. دومین کوچکترین عنصر، در واقع عنصری هست که در مقایسه با کوچکترین عنصر حذف شده(منظورم تو درخت تورنومنت هست). تعداد این عنصرها حداکثر [tex]\left \lceil log n \right \rceil[/tex] تا هست که باید بین اونا مقایسه انجام بگیره که [tex]\left \lceil logn \right \rceil-1[/tex] تا میشه در بدترین حالت. مجموع همه مقایسه ها میشه همون گزینه۱/ |
RE: تعداد مقایسه در یافتن دومین کوچکترین عنصر - azad_ahmadi - 14 اردیبهشت ۱۳۹۲ ۱۱:۰۱ ب.ظ
برای پیدا کردن دومین کوچکترین عنصر در این روش اومده از الگوریتم تورنومنت استفاده کرده.توضیحی در مورد این روش می دم: روش تورنومنت یا همون مسابقات حذفی که هر بار دوعدد باهم مقایسه میشوند و اونی که بزرگ تر هست(در این مثال اونی که کوچک تر هست) بالا می آید. در کل برای n عدد [tex]\left \lceil Log{_{2}}^{n} \right \rceil[/tex] دور و [tex](n-1)[/tex] مسابقه لازم است. برای یافتن کوچیک ترین کلید، کلید هایی که به کوچک ترین کلید باخته اند کوچکترین رو انتخاب می کنیم. این عمل به [tex]\left \lceil Log{_{2}}^{n} \right \rceil - 1[/tex] زمان نیاز دارد. پس کل تعداد مقایسه ها بصورت : [tex]T(n) = (n-1) \left \lceil Log{_{2}}^{n} \right \rceil - 1[/tex] [tex](n-1)[/tex] برابر هست با تعداد یافتن کوچک ترین کلید [tex]\left \lceil Log{_{2}}^{n} \right \rceil - 1[/tex] برابر هست با تعداد دور مسابقات. |