ساختمان دادهها و الگوریتمها نیم سال دوم 93-92 دانشکده مهندسی کامپیوتر تمرین پنجم مدرس :دکتر بیگی تاریخ تحویل 1 :تیر سوال .1 گراف سادهی ) G(V,Eرا در نظر بگیرید .وزن همهی یالهای این گراف نامنفی است .میدانیم که M زیردرختی فراگیر و وزندار با کمترین وزن در این گراف است .همچنین میدانیم که Pکوتاهترین مسیر بین دو راس vو uاست .حاال فرض کنید به جای وزن هر یال ،مجذور وزن آن را قرار دهیم ،مثال اگر وزن یالی 3 بوده ،وزن آن را 9قرار میدهیم. الف – آیا در گراف جدید ،همان Pقبلی لزوما کوتاهترین مسیر بین vو uاست؟ ب -آیا در گراف جدید همان Mقبلی لزوما زیردرخت فراگیر با کمترین وزن است؟ در هر مورد اگر جواب مثبت است ،آن را اثبات کنید و اگر جواب منفی است یک مثال نقض ارائه دهید. سوال .2 فرض کنید ) G= (V,Eیک گراف جهتدار بدون دور است و Kبیشترین تعداد یالهای موجود در هر مسیر از Gمیباشد .الگوریتمی طراحی کنید که راسها را در حداکثر K+1گروه افراز کند که برای هر دو راس w و vدر یک گروه هیچ مسیری از vبه wیا از wبه vموجود باشد .زمان اجرای الگوریتم را بدست آورید. سوال .3 زمان اجرای سه الگوریتم فلوید-وارشال ،بلمن-فورد و دایکسرا را بر روی گراف همبند ،مسطح و بدون جهت با وزنهای مثبت برای یافتن کوتاهترین مسیر بین تمام رئوس مقایسه کنید. سوال .4 مهره اسب شطرنج بر روی یکی از خانههای صفحه قرار دارد .قصد داریم مسیری را بیابیم تا این مهره با دقیقاً یکبار عبور از تمام خانههای صفحه به جایگاه اولیهاش برگردد .الگوریتمی برای یافتن چنین مسیری ارائه دهید و پیچیدگی محاسباتی آن را تحلیل نمائید. سوال .5 حمید و پویا میخواهند با هم بازی کنند .این بازی با استفاده از mرشته است و طی آن کلمهای ساخته میشود که در ابتدا تهی است .هر کسی در نوبت خود یک حرف انتخاب کرده و به انتهای رشته میافزاید ،به صورتی که کلمهی ساختهشده همواره پیشوند حداقل یکی از mرشتهی موجود باشد .کسی که نتواند حرکتی انجام دهد ،بازنده است .پویا از شما میخواهد تا الگوریتمی کارا ارائه دهید تا به او کمک کند که در صورت وجود استراتژی برای بردن آن را بیابد ( .الگوریتم خود را تحلیل کنید) سوال .6 در برخی سیستمهای ارزی مشکلی وجود دارد که یک شخص بدون انجام کار مفید و تنها با مبادلهی ارزها میتواند سرمایهی خود را زیاد کند .مثال اگر بتوان با 1دالر 49روپیه هند خرید ،با یک روپیه بتوان دو ین ژاپن خرید و با یک ین بتوان 0.0107دالر خرید ،میتوان با یک دالر کار را شروع کنیم و سپس 49روپیه بخریم و بعد از آن 98ین ژاپن و سپس 1.0486 = 0.0107*98دالر بخریم و سود به دست بیاوریم .تعداد Nنوع ارز مختلف c1, c2,…, cnداریم .یک جدول هم داریم که اگر در محل تقاطع سطر iو ستون jام آن عدد حقیقی kنوشته شدهباشد ،یعنی با 1واحد از ارز iمیتوانیم kواحد از ارز jام بخریم .الگوریتمی ارائه دهید که مشخص کند در سیستم موجود چنین مشکلی وجود دارد یا خیر و اگر میتوان سودی بدین شکل بدست آورد ،دنبالهی ارزهایی که ما را به این سود میرساند چاپ کند.
© Copyright 2025 Paperzz