ساختمان دادهها و الگوریتمها نیم سال دوم 93-92 دانشکده مهندسی کامپیوتر تمرین سوم مدرس :دکتر بیگی تاریخ کوییز 28 :اردبیهشت سوال.1 داده ساختار صف اولین میانه شامل nعنصر مجزا است که اعمال زیر را میتوان بر روی آن انجام داد: درج یک عنصر و حذف عنصر میانه در بدترین حالت در )O(logn ساخت یک MPQاز nعنصر داده شده در زمان )O(n با استفاده از هرم داده ساختار MPQرا طراحی کنید و نحوهی انجام اعمال فوق را دقیقاً توضیح دهید و تحلیل نمایید. سوال .2 الف) با 2𝑟 − 1کلید متمایز چند MaxHeapمتفاوت میتوانیم داشته باشیم؟ ب) MaxHeapحاصل پس از عملیات حذف ،حذف ،درج ،54حذف ،درج 38و حذف برروی MaxHeapاولیه زیر چه خواهد بود؟ سوال .3 پیچیدگی محاسباتی سه الگوریتم Merge Sort،Quick Sortو Bubble Sortبر روی آرایه ورودی nعضوی زیر به از چه مرتبهای خواهد بود؟ الف :آرایه بصورت صعودی مرتب باشد. 𝑛 ب :آرایه از کنار هم قرار گرفتن kدنباله صعودی که اندازه هر کدام حداقل 𝑘 2است تشکیل شده باشد بطوری که عضو بیشینه هر دنباله از عضو کمینه دنباله بعدیاش بیشتر باشد. سوال .4 دنبالهای را درنظر بگیرید که 2nعدد از مجموعه } {1,2, … , 𝑛2بطور نامرتب در ابتدای دنباله قرار گرفته اند و nعدد به صورت مرتب صعودی از مجموعه } {𝑛2 , 𝑛2 + 1, … , 2𝑛2در انتهای آن واقع شدند .پیچیدگی محاسباتی الگوریتم Quick Sortو Randomized Quick Sortبر روی این دنباله از چه مرتبه زمانی خواهد بود؟ سوال .5 فرض کنید فقط قادر به استفاده از الگوریتم Merge Sortبر روی آرایه به اندازه kعضو هستیم (تابع مربوط به ادغام ،قادر به ادغام دو آرایه مرتب با مجموع اندازه کوچکترمساوی kاست) .با کمک ابزار ذکر شده الگوریتمی برای مرتبسازی آرایه بطول ) n (n>kارائه دهید و پیچیدگی محاسباتی آنرا محاسبه نمائید. سوال .6 زمان اجرای مرتبسازی nعدد صحیح در بازه 0تا 𝑛𝑘 − 1به ازای مقادیر مختلف نسبت kو nچه مرتبه زمانی خواهد داشت؟ برای مرتبسازی دادههای زیر چه الگوریتمی پیشنهاد میکنید؟ زمان اجرای الگوریتم را محاسبه نمائید. الف n :عدد صحیح مثبت کوچکتر از 𝑛2 𝑔𝑜𝑙𝑛. سوال .7 فرض کنید که دنبالهی x1 , x2 , x3 , … xnداده شده است .میخواهیم به پرسشهایی مانند کوچکترین عدد بین xi, xi+1 , xi+2 , … , xjبرای j,iهای مختلف جواب دهیم. آ) داده ساختاری طراحی کنید که با حافظه و پیش پردازش ) O(n^2بتواند به هر پرسش در ) O(1پاسخ دهد. ب) داده ساختاری طراحی کنید که با ) O(nحافظه و پیش پردازش مناسب بتواند به هر پرسش در ) O(lognپاسخ دهد( برای گرفتن بخشی از نمره میتوانید داده ساختاری با حافظهی ) O(nlognو زمان پاسخ )O(logn طراحی کنید). ج) داده ساختاری طراحی کنید که با حافظه و پیشپردازش ) O(nlognبتواند به هر پرسش در ) O(1پاسخ دهد. سوال .8 در یک کشور شامل nشهر و mجادهی دوطرفه است که میتوان با آنها از هر شهر به شهر دیگر با طی کردن تعدادی از این جادهها رسید .اما بعضی از این جادهها خراب شدهاند و غیر قابل عبور هستند .این خرابیها باعث شده است که دیگر نتوان از هر شهر به هر شهر دلخواه دیگر رفت .دولت تصمیم دارد تعدادی از این جادهها را درست کند تا انجام این کار مجدداً امکانپذیر باشد .تعمیر جادههای شهر هزینههای متفاوتی دارد .الگوریتمی با پیچیدگی ) O(mlogmارایه دهید که بهترین جادهها را پیدا کند. سوال .9 دانشآموزان یک کالس را میخواهیم بر اساس قدشان به دو گروه تقسیم کنیم .به طوری که اعضای گروه اول از همهی اعضای گروه دوم کوتاهقدتر باشند .میخواهیم گروه اول تا جای ممکن کوچک باشد ولی از طرفی میخواهیم مجموع وزن افراد گروه اول حداقل برابر نصف مجموع وزن همهی افراد باشد .روشی ارایه دهید که در ) O(nاین کار را انجام دهد(.میدانیم که میانه را میتوان در ) O(nپیدا کرد)
© Copyright 2025 Paperzz