مقدمه ‏ایی بر طراحی و تحلیل الگوریتم‏ ها (جلد دوم)

این اثر یکی از منابع معتبر در زمینۀ آموزش الگوریتم است که با زبانی روان و گام‌به‌گام، مبانی طراحی و تحلیل الگوریتم‌ها را همراه با مثال‌ها و مسائل کاربردی شرح می‌دهد. مترجم نیز برای رفع ابهامات متن اصلی و روشن‌تر ساختن مفاهیم، توضیحات تکمیلی و نکات سودمندی افزوده است تا خواننده بتواند بدون نیاز به منابع جانبی، مطالب کتاب را به‌خوبی درک کرده و مسیر مناسبی برای تعمیق دانش خود بیابد. ویژگی‌های برجستۀ کتاب شامل ارائه‌ای جامع از روش‌های طراحی الگوریتم، معرفی ساختار داده‌ها از منظر الگوریتمی، طرح مسائل متنوع همراه با الگوریتم‌های مربوط، بهره‌گیری از مطالب آموزشی منابع دیگر و راهنمای کامل برای حل تمرین‌هاست؛ امتیازاتی که جایگاه آن را در میان منابع درسی الگوریتم برجسته ساخته است.

8     برنامه‌ریزی پویا 1


1.8   سه مثال مقدماتی.. 3


تمرینات 1.8. 11


2.8   مسأله کوله‌پشتی و توابع حافظه‌دار. 13


توابع حافظه‌دار 16


تمرینات 2.8. 19


3.8   درخت‌های دودویی جستجوی بهینه. 20


تمرینات 3.8. 26


4.8   الگوریتم‌های وارشال و فلوید. 27


الگوریتم وارشال. 28


الگوریتم فلوید برای مسأله کوتاه‌ترین مسیرها بین هر دو رأس.. 33


تمرینات 4.8. 37


خلاصه. 39


[یادداشت‌های پایانی] 40


9    فن حریصانه. 59


1.9   الگوریتم پریم. 63


تمرینات 1.9. 71


2.9   الگوریتم کراسکال. 74


زیرمجموعه‌های مجزا و الگوریتم‌های اجتماع - یابش... 77


تمرینات 2.9. 85


3.9   الگوریتم دایکسترا 87


تمرینات 3.9. 92


4.9   درخت‌های هافمن و کدهای هافمن.. 94


تمرینات 4.9. 101


خلاصه. 102


[یادداشت‌های پایانی] 104


10    تکرار و بهبود. 127


1.10   روش سیمپلکس... 128


تفسیر هندسی مسأله برنامه‌ریزی خطی.. 130


طرح کلی روش سیمپلکس... 136


توضیحات بیشتر درباره روش سیمپلکس... 146


تمرینات 1.10 150


2.10   مسأله جریان بیشینه. 151


تمرینات 2.10 168


3.10   تطابق بیشینه در گراف‌های دوبخشی.. 170


تمرینات 3.10 177


4.10   مسأله ازدواج پایدار. 179


تمرینات 4.10 185


خلاصه. 186


[یادداشت‌های پایانی] 188


11    توان محدود الگوریتم‌ها 211


1.11   شیوه‌های استدلال برای تعیین کران‌های پایین مسائل.. 213


کران‌های پایین بدیهی.. 214


استدلال‌های نظریه اطلاعاتی.. 216


استدلال‌های رقابتی.. 217


تبدیل مسأله. 220


تمرینات 1.11 225


2.11   درخت‌های تصمیم. 226


درخت‌های تصمیم برای مسأله مرتب‌سازی.. 228


درخت‌های تصمیم برای جستجو در آرایه مرتب.. 231


تمرینات 2.11 233


3.11   مسائل پی و ان‌پی و ان‌پی - کامل.. 235


مسائل پی و ان‌پی.. 237


مسائل ان‌پی - کامل. 245


تمرینات 3.11 251


4.11   سختی‌های پیاده‌سازی الگوریتم‌های عددی.. 253


تمرینات 4.11 262


خلاصه. 264


[یادداشت‌های پایانی] 266


12    کنار آمدن با توان محدود الگوریتم‌ها 305


1.12   عقبگرد    307


مسأله  وزیر. 308


مسأله مدار همیلتنی.. 312


مسأله مجموع زیرمجموعه. 314


چند نکته کلی درباره فن عقبگرد. 317


تمرینات 1.12. 322


2.12   شاخه وکران. 323


مسأله تخصیص... 325


مسأله کوله‌پشتی.. 329


مسأله فروشنده دوره‌گرد. 332


تمرینات 2.12. 334


3.12   الگوریتم‌های تقریبی برای مسائل ان‌پی - سخت.. 336


الگوریتم‌های تقریبی برای مسأله فروشنده دوره‌گرد. 338


الگوریتم‌های تقریبی برای مسأله کوله‌پشتی.. 353


تمرینات 3.12. 358


4.12   الگوریتم‌هایی برای حل معادلات غیرخطی.. 360


روش دوبخشی.. 362


روش نابجایی.. 367


روش نیوتن. 370


تمرینات 4.12. 375


خلاصه. 376


[یادداشت‌های پایانی] 378


سخن پایانی.. 419


پیوست الف   فرمول‌های مفید برای تحلیل الگوریتم‌ها 425


ویژگی‌های لگاریتم‌ها 425


ترکیبیات.. 425


فرمول‌های جمع‌بندی مهم. 425


قاعده‌های پردازش مجموع‌ها 426


تقریب مجموع با انتگرال معین. 426


فرمول‌های کف و سقف.. 426


فرمول‌های متفرقه. 426


پیوست ب   خودآموز مختصر رابطه‌های بازگشتی.. 427


دنباله‌ها و رابطه‌های بازگشتی.. 427


روش‌های حل رابطه‌های بازگشتی.. 429


انواع بازگشتی‌های رایج در تحلیل الگوریتم‌ها 442


مراجع. 459


راهنمایی برای تمرینات.. 475