HW4.pdf

‫ساختمان دادهها و الگوریتمها‬
‫نیم سال دوم ‪93-92‬‬
‫دانشکده مهندسی کامپیوتر‬
‫مدرس‪ :‬دکتر بیگی‬
‫تاریخ کوییز‪ 4 :‬خرداد‬
‫تمرین چهارم‬
‫سوال ‪.1‬‬
‫رشتهای از حروف به زبان انگلیسی شامل ‪ 2i‬تکرار از حرف ‪i‬ام انگلیسی به ازای هر ‪ 26‬حرف انگلیسی است‪.‬‬
‫تعداد بیتهای الزم برای ذخیره سازی با استفاده از کدگذاری با طول ثابت و کدگذاری با کد هافمن چه‬
‫مقدار خواهد بود؟‬
‫سوال ‪.2‬‬
‫کد هافمن مربوط به کاراکترهای زیر با تعداد تکرار داده شده را بدست آورید‪:‬‬
‫‪G‬‬
‫‪f‬‬
‫‪e‬‬
‫‪d‬‬
‫‪c‬‬
‫‪b‬‬
‫‪a‬‬
‫کاراکتر‬
‫‪7‬‬
‫‪10‬‬
‫‪15‬‬
‫‪24‬‬
‫‪27‬‬
‫‪34‬‬
‫‪38‬‬
‫تعداد‬
‫سوال ‪.3‬‬
‫برای رفتن از شهر ‪ A‬به شهر ‪ B‬از یک الگوریتم حریصانه استفاده میکنیم‪ .‬اطالعات در دسترسمان فقط‬
‫شامل شهرهای مجاور شهر کنونی و مختصات جغرافیایی شهرهاست و طول مسیر را شامل نمیشود‪ .‬روش‬
‫کار الگوریتم به این شکل است که هر بار به یکی از شهر های مجاور که نزدیکترین فاصله تا مقصد را دارد‬
‫میرود‪ .‬بهینگی مسیر انتخابی و قطعیت در رسیدن به جواب را بررسی نمائید‪.‬‬
‫سوال ‪.4‬‬
‫زمان انتظار برابر اختالف زمانی بین زمان تعریف یک کار تا زمان کامل شدن کار است‪ .‬پردازندهای میبایست‬
‫کارهای زیر را انجام دهد‪ .‬حداقل مجموع زمان انتظار کارها را محاسبه نمائید‪.‬‬
‫‪8‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫کار‬
‫‪10‬‬
‫‪9‬‬
‫‪7‬‬
‫‪6‬‬
‫‪3‬‬
‫‪2‬‬
‫‪0‬‬
‫‪0‬‬
‫زمان تعریف‬
‫‪4‬‬
‫‪2‬‬
‫‪3‬‬
‫‪5‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫مدت زمان‬
‫پردازش‬
‫سوال ‪.5‬‬
‫قصد داریم از یک الگوریتم حریصانه برای رنگآمیزی با حداقل رنگ رئوس یک گراف به شکلی که هیچ دو‬
‫راس مجاور یک راس همرنگ نباشند استفاده نمائیم‪( .‬دو راس مجاور میتوانند همرنگ باشند ولی هیچ‬
‫راسی دو راس مجاور با یک رنگ خاص نمیتواند داشته باشد‪ ).‬برای حل این مسئله راه حلی ارائه دهید‪.‬‬
‫(راهنمایی‪ :‬از ایده الگوریتم عقبگرد استفاده نمائید‪).‬‬
‫سوال ‪.6‬‬
‫حداقل تعداد ضربهای الزم برای ضرب ماتریسهای × ‪A10,20 × B20,80 × C80,40 × D40,100‬‬
‫‪ E100,30‬چه مقدار خواهد بود؟‬
‫سوال ‪.7‬‬
‫تعداد ‪ n‬پردازنده برای محاسبه حاصل ضرب دو ماتریس ‪ n × n‬در اختیار داریم‪ .‬با فرض عدم وجود‬
‫محدودیت در دسترسی به حافظه روشی برای استفاده همزمان از پردازندهها برای کاهش زمان انتظار ارائه‬
‫دهید‪ .‬برای ضرب دو ماتریس ‪ m × n‬و ‪ n × k‬حداکثر تعداد پردازندههای موثر در کاهش زمان انتظار چه‬
‫مقدار خواهد بود و زمان انتظار از چه مرتبه زمانی خواهد بود؟‬
‫سوال ‪.8‬‬
‫تعدادی وزنه داریم و میخواهیم آنها را در دو کفه یک ترازو قرار دهیم‪ .‬چگونه میتوانیم وزنهها را بر روی‬
‫ترازو قرار دهیم که اختالف وزن دو کفه را حداقل نمائیم؟ یک روش حریصانه نیز برای حل این مسئله ارائه‬
‫نمائید که دقت قابل قبولی داشته باشد‪.‬‬
‫سوال ‪.9‬‬
‫ایده یک الگوریتم برای جدا نمودن طوالنیترین دنباله کاراکتر از دو رشته ورودی ارائه دهید که کاراکترهای‬
‫به همان ترتیب در دو رشته وجود داشته باشند‪.‬‬
‫سوال ‪.10‬‬
‫پاسخ مسئله کولهپشتی را در ‪ 4‬حالت زیر بررسی نمائید و دقت و مقدار جواب مورد انتظار را با هم مقایسه‬
‫کنید‪( .‬بهینگی پاسخ و مقایسه ارزش کولهپشتیها مدنظر است‪).‬‬
‫الف‪ :‬کولهپشتی ‪ 0‬و ‪ 1‬به روش حریصانه‬
‫ب‪ :‬کولهپشتی کسری به روش حریصانه‬
‫ج‪ :‬کولهپشتی ‪ 0‬و ‪ 1‬به روش پویا‬
‫د‪ :‬کولهپشتی کسری به روش پویا‬