ساختمان داده ها و طراحی الگوریتم ها

حل تشریحی سوالات ساختمان داده ها و طراحی الگوریتم ها - کنکور دکتری مهندسی کامپیوتر 1402

سوالات ساختمان داده ها و طراحی الگوریتم ها

20 سوال
1.

الگوریتم فلوید - وارشال از یک الگوریتم ........................ برای حل مسئله کوتاه‌ترین مسیرهای تمام جفت رئوس در یک گراف جهت‌دار G=(V,E) در زمان ........................ استفاده می‌کند.

1)

حریصانه،

2)

حریصانه،

3)

برنامه‌نویسی پویات،

4)

برنامه نویسی پویا،

2.

فرض اینکه باشد، کدام مورد درست است؟

1)

NP-hard=NP

2)

NP-complete=P

3)

NP-complete=NP

4)

3.

کم‌ترین تعداد مقایسه مورد نیاز برای تعیین اینکه یک عدد صحیح بیش از مرتبه در یک آرایه مرتب از اعداد صحیح به طول n ظاهر می‌شود، از کدام مرتبه است؟

1)

2)

3)

4)

4.

آرایه نامرتب را در نظر بگیرید (n عددی فرد است. ) هر کدام از این آرایه‌ها دارای n عنصر متمایز است. هیچ عنصر مشترکی میان هیچ دو آرایه‌ای وجود ندارد. کمترین پیچیدگی زمانی الگوریتمی برای محاسبه میانه این آرایه‌ها از چه مرتبه‌ای است؟

1)

2)

3)

4)

5.

فرض کنید و A(n)، به‌ترتیب، نشان‌دهنده بدترین حالت و میانگین زمان اجرای الگوریتم اجرا شده بر روی ورودی با اندازه n باشند، کدام مورد همواره درست است؟

1)

2)

3)

4)

6.

یک آرایه مرتب شده از اعداد داریم. می‌خواهیم دو عدد در این آرایه پیدا کنیم که جمع آن دو عدد مساوی یک عدد شده x باشد. کمترین پیچیدگی زمانی حل این مسئله کدام است؟

1)

2)

3)

4)

7.

فرض کنید آرایه‌ای از اعداد صحیح داده شود. فرض کنید یک اندیس (ناشناخته) k وجود دارد به‌طوری که زیر آرایه به‌ترتیب اکیدا افزیشی مرتب شده است و زیر آرایه به‌ترتیب اکیدا نزولی مرتب شده است (یعنی اگر آنگاه ، و اگر ، آنگاه هدف شما تعیین k است. یک الگوریتم بهینه برای حل این مسئله چه زمان اجرایی دارد؟

1)

2)

3)

4)

8.

کدام یک از موارد زیر درست است؟

1)

آرایه یک max است.

2)

هر مسئله محاسباتی با اندازه ورودی n را می‌توان با یک الگوریتمی با زمان چند جمله‌ای برحسب n حل کرد.

3)

برای تمام توابع مثبت f(n)، g(n) و h(n)، اگر f(n)=O(g(n)) و باشد، آنگاه است.

4)

اگر هر رقم جداگانه در RADIX SORT را با استفاده از INSERTION به‌جای COUNTING SORT مرتب کنیم، آنگاه PADIX SORT به‌درستی کار نمی‌کند (یعنی خروجی صحیح را تولید نمی‌کند).

9.

کدام مورد زیر مطمئنا عبارت را پشتیبانی می‌کند؟

1)

برای تمام

2)

برای تمام

3)

برای تمام

4)

10.

کدام یک از گزاره‌های زیر درست است؟

الف- اگر مسئله بتواند به مسئله در زمان خطی کاهش (reduce) باید، آنگاه اگر یک مسئله NP-hard باشد، می‌توان نتیجه گرفت نیز NP-hard است.

ب- یک Clique در یک گراف بدون جهت لزوما یک vertex cover در گراف مکمل نیست.

1)

فقط گزاره "الف" درست است.

2)

فقط گزاره "ب" درست است.

3)

هر دو گزاره "الف" و "ب" درست است.

4)

هر دو گزاره "الف" و "ب" نادرست است.

11.

کدام یک از گزاره‌های زیر درست است؟

الف- اینکه زمان حل یک مسئله P حد پایین دارد به این معنی است که برای هر الگوریتم A که P را حل می‌کند فقط برخی از نمونه‌های P وقتی به‌عنوان ورودی به A داده شوند، باعث می‌شود A زمان صرف کند.

ب- اینکه زمان حل یک مسئله P حد پایین دارد به این معنی است که برای هر الگوریتم A که P را حل می‌کند هر نمونه از P که به‌عنوان ورودی به A داده شود، باعث می‌شود A زمان صرف کند.

1)

فقط گزاره "الف" درست است.

2)

فقط گزاره "ب" درست است.

3)

هر دو گزاره "الف" و "ب" درست هستند.

4)

هر دو گزاره "الف" و "ب" نادرست هستند.

12.

کدام یک از گزاره‌های زیر درست است؟

الف- اگر یک الگوریتم زمان چندجمله‌ای برای یک مسئله که NP-hard است ارائه شود، آنگاه می‌توان نتیجه گرفت P=NP است.

ب- اگر یک مسئله NP-complete است، آنگاه می‌توان نتیجه گرفت که آن مسئله هیچ راه‌حلی ندارد.

1)

فقط گزاره "الف" درست است.

2)

فقط گزاره "ب" درست است.

3)

هر دو گزاره "الف" و "ب" درست هستند.

4)

هر دو گزاره "الف" و "ب" نادرست هستند.

13.

کدام یک از گزاره‌های زیر درست است؟

الف- اگر یک مسئله که به کلاس NP تعلق دارد یک راه‌حل زمان چند جمله‌ای داشته باشد، آنگاه است.

ب- اگر کسی یک حد پایین زمان نمایی برای یک مسئله که NP-complete است بدهد، آنگاه است.

1)

فقط گزاره "الف" درست است.

2)

فقط گزاره "ب" درست است.

3)

هر دو گزاره "الف" و "ب" درست هستند.

4)

هر دو گزاره "الف" و "ب" نادرست هستند.

14.

مسئله کوله‌پشتی 0-1 را در نظر بگیرید که n شی با وزن صحیح داریم و گنجایش کوله‌پشتی عدد صحیح M است. این مسئله دارای یک الگوریتم مبتنی بر روش برنامه‌ریزی پویا با زمان O(M.n) است. این مرتبه زمانی برحسب اندازه مسئله چگونه است؟

1)

خطی

2)

درجه دو

3)

نمایی

4)

شبه چندجمله‌ای

15.

برای پیدا کردن k امین عدد در میان n عدد که به‌عنوان کلید در گره‌های یک درخت جستجویی دودویی متوازن ذخیره شده‌اند، کمترین پیچیدگی زمانی ممکن کدام است؟ (هر گره درخت فقط شامل کلید و اشاره‌گر به پدر و فرزند چپ و راست است.)

1)

2)

3)

4)

16.

عدد به عنوان کلید در گره‌های یک درخت جستجویی دودویی متوازه ذخیره شده‌اند. هر گره علاوه بر کلید و اشاره‌گر به پدر و فرزند چپ و راست، تعداد گره‌های زیر درخت خود را هم نگهداری می‌کند. برای پیدا کردن rank کلید یک گره (یعنی اینکه کلید گره چندمین عدد در بین n عدد است) کمترین پیچیدگی زمانی ممکن است؟

1)

2)

3)

4)

17.

در یک درخت قرمز - سیاه، طول طولانی‌ترین مسیر ساده از یک گره x به یک برگ در زیر درخت خودش حداکثر چند برابر طول کوتاهترین مسیر از گره x به یک برگ در زیر درخت خودش است؟

18.

کدام یک از گزاره‌های زیر درست است؟

الف- هر درخت جستجوی دودویی دلخواه با n گره می‌توان به یک درخت جستجوی دودویی دلخواه دیگر با n گره با انجام O(n) عمل rotation تبدیل شود.

برای هر دو تابع f(n) و g(n) یکی از سه حالت ، و برقرار است.

1)

فقط گزاره "الف" درست است.

2)

فقط گزاره "ب" درست است.

3)

هر دو گزاره "الف" و "ب" درست هستند.

4)

هر دو گزاره "الف" و "ب" نادرست هستند.

19.

کمترین پیچیدگی زمانی ممکن برای مرتب‌سازی n عدد طبیعی که مقادیر کمتر از دارند، کدام است؟

1)

2)

3)

4)

20.

اگر عدد 363 را در یک درخت جستجوی دودویی، جستجو کنیم، کدام دنباله زیر نمی‌تواند دنباله‌ای از کلید گره‌هایی باشد که بررسی می‌شوند؟ (ترتیب از راست به چپ است.)

1)

363،397،344،330،398،401،252،2

2)

363،362،258،898،244،911،220،924

3)

363،278،381،382،266،219،387،399،2

4)

363،245،912،240،911،202،925