DSA_HW3.pdf

‫تسوِ تعالی‬
‫توشیي سشی سَم ساختواىدادُّا ٍ الگَسیتنّا‬
‫هذسس‪ :‬دکتش آتام‬
‫لغفا اگش سَالی داسیذ‪ ،‬آى سا دس گشٍُ دسس تِ آدسس ‪ [email protected]‬هغشح کٌیذ‪.‬‬
‫‪ a1, a2, …, an - 1‬یک دًثالِ اص اعذاد تِ عَل ‪ n‬است‪ .‬الگَسیتوی اص )‪ O(n lg n‬تشای یافتي تعذاد جفت )‪ّ (i, j‬ایی کِ ‪i<j‬‬
‫ٍ ‪ ai > aj‬اسائِ کٌیذ‪( .‬ساٌّوایی‪ :‬اص الگَسیتن ‪ merge sort‬استفادُ کٌیذ‪).‬‬
‫‪ - 2‬ثاتت کٌیذ ًویتَاى عٌاصش یک ‪ heap‬سا تا )‪ O(n‬تثذیل تِ یک ‪ BST‬کشد‪.‬‬
‫‪ - 3‬فشض کٌیذ تاتعی داسین کِ اص )‪ O(n‬عٌصش هیاًِی ‪n‬تا عذد سا پیذا هیکٌذ‪ .‬تا استفادُ اص ایي تاتع‪:‬‬
‫‪ .a‬الگَسیتوی اسائِ تذّیذ کِ تِ اصای ّش ‪ k‬دلخَاُ‪ ،‬عٌصش ‪k‬ام سا اص )‪ O(n‬پیذا کٌذ‪.‬‬
‫‪ .b‬فشض کٌیذ ّش عٌصش دًثالِ‪ ،‬تِ جض یک هقذاس‪ ،‬یک ٍصى ّن داسد کِ آى سا تا ‪ً wi‬طاى هی دّین ٍ جوع ّوِی‬
‫ٍصىّا تشاتش یک است‪ .‬دس ایي حالت عٌصش هیاًِ‪ ،‬کَچکتشیي عٌصشی است کِ جوع ّوِی عٌاصش کَچکتش اص‬
‫آى حذاقل ½ تاضذ‪ .‬الگَسیتوی اص )‪ O(n‬اسائِ کٌیذ کِ دس ایي حالت عٌصش هیاًِ سا پیذا کٌذ‪.‬‬
‫‪ - 4‬هی خَاّین ‪ً n‬قغِ سا تشحسة فاصلِضاى ًسثت تِ یک ًقغِی هطخص هثل ‪ p‬هشتة کٌین‪ .‬هی داًین ًقاط دس صفحِ‬
‫تَصیع هساٍی داسًذ‪ .‬تِ ّویي علت هیخَاّین اص الگَسیتن ‪ bucket sort‬استفادُ کٌین‪ .‬سثذّا سٍ چگًَِ اًتخاب کٌین‬
‫تا دس ّش سثذ تِ عَس هتَسظ هقذاس ثاتتی ًقغِ قشاس تگیشد؟‬
‫‪ - 5‬یک لیست ‪n‬تایی اص اعذاد داسین‪ .‬هیخَاّین تکشاسّا سا اص ایي لیست حزف کٌین‪ .‬ثاتت کٌیذ ّش الگَسیتن هثتی تش هقایسِ‬
‫تشای ایي کاس‪ ،‬دس تذتشیي حالت‪ ،‬اص‬
‫‪ Ω‬هقایسِ اًجام هیدّذ‪.‬‬
‫‪ - 6‬ها یک گشاف سا تِ ضکل لیست هجاٍست رخیشُ کشدُاین‪ .‬هوکي است دس لیستّای گشاف سئَس تکشاسی ٍجَد داضتِ‬
‫تاضذ‪ .‬الگَسیتوی اص )‪ O(n + e‬اسائِ کٌیذ کِ دس لیستّا عٌاصش تکشاسی سا حزف کٌیذ‪ .‬چشا الگَسیتن ضوا تشخالف حکن‬
‫سَال قثل اص هشتثِی صهاًی خغی است؟‬
‫‪-7‬‬
‫‪ .a‬یک جایگطت اص اعذاد ‪ 1‬تا ‪ n‬سا دس ًظش تگیشیذ‪ .‬دس ّش حشکت هیتَاًین ‪ 2‬عٌصش دلخَاُ سا جاتجا کٌین‪ .‬فشض‬
‫کٌیذ تا ‪ k‬حشکت ایي جایطگت سا هشتة کشدین‪ .‬ثاتت کٌیذ اگش جایگطت اٍلیِ‪ ،‬ثاتت تاضذ‪ ،‬هستقل اص ًحَُی‬
‫اًجام جاتجاییّا صٍجیت ‪ k‬یکساى است‪ .‬تِ صٍجیت ‪ ،k‬عالهت جایطگت اٍلیِ هیگَیین‪.‬‬
‫‪ .b‬الگَسیتوی اص )‪ O(n‬اسائِ کٌیذ کِ تا گشفتي یک جایگطت‪ ،‬عالهت آى سا هطخص کٌذ‪.‬‬
‫‪ - 8‬الگَسیتوی اص )‪ O(n log n‬اسائِ کٌیذ کِ یک دًثالِی ‪n‬تایی اص اعذاد تگیشد ٍ دسصَستی کِ ایي دًثالِ هذ داسد‪ ،‬آى سا‬
‫پیذا کٌذ‪ .‬دس ایٌجا هٌظَس اص هذ‪ ،‬عٌصشی است کِ تیص اص ‪ n/2‬تاس دس دًثالِ تکشاس ضذُ تاضذ‪( .‬ساٌّوایی‪ :‬اص سٍش تقسین‬
‫ٍ حل استفادُ کٌیذ‪).‬‬
‫‪n - 9‬تا پیچ ٍ ‪n‬تا هْشُ داسین کِ ّش پیچ دقیقا تا یک هْشُ ّناًذاصُ است‪ .‬ها هیخَاّین تِ اصای ّش پیچ‪ ،‬هْشُی هعادلص سا‬
‫پیذا کٌین‪ .‬تشای ایي کاس هیتَاًین یک پیچ ٍ یک هْشُ سا اهتحاى کٌین ٍ تثیٌین کِ آیا پیچ اص هْشُ تضسگتش است یا هْشُ‬
‫اص پیچ تضسگتش است یا ایٌکِ ّناًذاصُ اًذ‪ .‬الگَسیتوی اسائِ کٌیذ کِ تا )‪ O(n log n‬تاس اهتحاى پیچ ٍ هْشُ‪ ،‬تِ اصای ّش‬
‫پیچ هْشُی هتٌاظشش سا تیاتذ‪.‬‬
‫‪- 11‬الگَسیتوی اص صهاى چٌذجولِای اسائِ کٌیذ کِ تا گشفتي یک دًثالِی ‪n‬عضَی‪ ،‬تضسگتشیي صیش دًثالِی صعَدی سا پیذا‬
‫کٌذ‪.‬‬
‫‪- 11‬هی خَاّین یک دًثالِ اص اعذاد سا هشتة کٌین‪ .‬دس ّش هشحلِ هی تَاًین یک عذد سا اًتخاب کٌین ٍ دس یک جای دیگش‬
‫دًثالِ قشاس دّین‪ .‬الگَسیتوی اائِ کٌیذ کِ تا کوتشیي تعذاد حشکت دًثالِ سا هشتة کٌذ‪( .‬ساٌّوایی‪ :‬سَال قثل صشفا تشای‬
‫استفادُ دس ایي سَال گزاضتِ ضذُ است!)‬
‫‪ً- 12‬طاى دّیذ ‪ n‬عذد صحیح دس تاصُ ی ‪ 1‬تا ‪ k‬سا هی تَاى اص )‪ O(n log k‬هشتة کشد‪.‬‬
‫‪ً- 13‬طاى دّیذ ّش الگَسیتن جستجَی هثتی تش هقایسِ تش سٍی یک آسایِ ی هشتة اص‬
‫‪ Ω‬است‪.‬‬
‫‪- 14‬یک سٍش تشای پیذا کشدى تعذاد دفعات تکشاس یک سضتِ دسٍى یک سضتِی دیگش استفادُ اص‪ hash‬است‪ .‬الگَسیتن تِ ایي‬
‫ضکل است‪:‬‬
‫‪ .a‬هی خَاّین تثیٌین سضتِی ‪ s‬دس سضتِی ‪ t‬چٌذتاس ظاّش ضذُ است‪ .‬تشای ّویي تِ اصای ّش صیش سضتِی هتَالی‬
‫|‪|s‬تایی اص ‪ t‬تشسسی هی کٌین کِ آیا هقذاس تاتع ‪ hash‬آى تا تاتع ‪ hash‬سضتِی ‪ s‬تشاتش است یا خیش‪.‬‬
‫‪ .b‬تاتع ‪ hash‬یک سضتِ تِ ایي ضکل عول هی کٌذ کِ (تا فشض ایٌکِ سضتِّا فقظ اص حشٍف کَچک اًگلیسی‬
‫تطکیل ضذُاًذ)‪ّ ،‬ش سضتِ سا تِ ضکل یک عذد دس هثٌای ‪ً 26‬گاُ هیکٌذ کِ حشٍف هعادل اعذاد ّستٌذ‪ .‬چَى‬
‫ایي سضتِ هوکي است تضسگ تاضذ‪ ،‬هقذاس آًشا تاقیواًذُ تش یک عذد اٍل تِ اًذاصُی کافی تضسگ حساب هیکٌین‪.‬‬
‫یک پیادُ ساصی تشای تاتع ‪ hash‬هغاتق تا تَضیحات تاال اسائِ دّیذ‪ٍ .‬سٍدی تاتع ضوا یک سضتِ است ٍ خشٍجی آى یک‬
‫عذد‪.‬‬
‫‪- 15‬فشض کٌیذ هی خَاّین سَال تاال سا ٍقتی کِ تِ جای سضتِ‪ ،‬جذاٍلی اص حشٍف داسین حل کٌین‪ .‬دس ٍاقع دس ٍسٍدی تِ ها‬
‫دٍ جذٍل ‪ t ٍ s‬هی دٌّذ ٍ هی خَاّین تثیٌین جذٍل ‪ s‬دس چٌذجای جذٍل ‪ t‬ظاّش ضذُ است‪ .‬دس ایٌجا تِ سٍش صیش‬
‫عول هیکٌین‪:‬‬
‫تِ اصای ّش صیش جذٍل اص ‪ t‬کِ اتعاداش هطاتِ ‪ s‬است‪ ،‬هقذاس تاتع ‪ّ hash‬ش سغش اص اص آى صیش جذٍل سا هطاتِ‬
‫سَال قثل حساب هی کٌین‪ .‬تا فشض ایٌکِ جذٍل ‪r ،s‬تا سغش داسد‪ ،‬تعذ اص ایي عول ‪r‬تا عذد تذست هی آیذ‪.‬‬
‫حال ایي ‪r‬تا عذد سا هثل یک دًثالِی ‪r‬تایی اص اعذاد ًگاُ هیکٌین ٍ ‪ hash‬ایي سضتِی جذیذ سا تِ عٌَاى‬
‫‪ hash‬صیشجذٍل هَسد ًظش دس ‪ t‬اسائِ هیکٌین‪( .‬تا ایٌکِ هقادیش آًْا هوکي اص ‪ 26‬تیطتش تاضذ‪ ،‬اها ‪ hash‬آًْا سا‬
‫دس هثٌای ‪ 26‬حساب هی کٌین‪).‬‬
‫هطکل ایي تاتع ‪ hash‬ایي است کِ تِ ساحتی هی تَاى جذٍلْای هتفاٍتی هثال صد کِ تاتع ‪ hash‬یکساًی داسًذ‪ .‬هثالی‬
‫تضًیذ کِ دس آى تاتع ‪ hash‬دٍ جذٍل هتفاٍت یکساى تاضذ‪ .‬الگَستین تاال سا عَسی تغییش دّیذ کِ ایي هطکل تشعشف‬
‫ضَد‪.‬‬
‫سَال ّای کتاب‪:‬‬
‫‪1.8-5‬‬
‫‪7.2-6‬‬
‫‪( 3.3-3-6‬ساٌّوایی‪ :‬هطاتِ سَال ‪)2‬‬
‫‪1.5-6‬‬
‫‪7.3-5-6‬‬
‫هَفق تاضیذ!‬