کتاب Introduction to Algorithms یک راهنمای جامع برای افرادی است که میخواهند به صورت مقدماتی مفاهیم مربوط به الگوریتمها را بیاموزند. در این کتاب به اهمیت الگوریتم در برنامههای امروزی، بررسی الگوریتمهای مهم دنیا و همچنین حل چالشهای مهم در این علم میپردازد. کتاب Introduction to Algorithms چهارمین سری چاپ این کتاب میباشد که شامل 35 فصل بوده و در سال 2009 نیز اولین نسخه آن انتشار پیدا کرده است.
در ادامه مقدمهای از کتاب Introduction to Algorithms را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Introduction to Algorithms:
چندی پیش، هر کسی که کلمه “الگوریتم” را شنیده بود تقریباً یک دانشمند کامپیوتر یا ریاضیدان بود. با این حال، با رایج شدن رایانه در زندگی مدرن ما، این اصطلاح دیگر باطنی نیست. اگر به اطراف خانهتان نگاه کنید، الگوریتمهایی را خواهید یافت که در پیش پا افتادهترین مکانها اجرا میشوند: اجاق مایکروویو، ماشین لباسشویی و البته کامپیوترتان.
شما از الگوریتمها میخواهید که به شما توصیه کنند: چه موسیقی را ممکن است دوست داشته باشید یا چه مسیری را هنگام رانندگی طی کنید. جامعه ما، چه خوب و چه بد، از الگوریتمهایی میخواهد که برای مجرمان محکوم احکام را پیشنهاد کنند. شما حتی به الگوریتمهایی تکیه میکنید که شما را زنده نگه دارند، یا حداقل شما را نکشند: سیستمهای کنترلی در ماشین یا تجهیزات پزشکی.
بنابراین، لازم است که الگوریتمها را نه تنها به عنوان یک دانشجو یا متخصص علوم کامپیوتر، بلکه به عنوان یک شهروند در این دنیا درک کنید. هنگامی که الگوریتمها را درک کردید، میتوانید به دیگران درباره چیستی الگوریتمها، نحوه عملکرد و محدودیتهای آنها آموزش دهید.
کتاب Introduction to Algorithms مقدمهای جامع برای مطالعه مدرن الگوریتمهای کامپیوتری ارائه میدهد. این الگوریتمهای زیادی را ارائه میدهد و آنها را در عمق قابل توجهی پوشش میدهد، اما طراحی آنها را برای تمام سطوح خوانندگان قابل دسترسی میکند. همه تجزیه و تحلیلها ارائه شده است، برخی ساده، برخی بیشتر درگیر. ما سعی کردهایم بدون به خطر انداختن عمق پوشش یا دقت ریاضی، توضیحات را شفاف نگه داریم.
هر فصل کتاب Introduction to Algorithms یک الگوریتم، یک تکنیک طراحی، یک منطقه کاربردی یا یک موضوع مرتبط را ارائه میدهد. الگوریتمها به زبان انگلیسی و در یک شبه کد طراحی شده است که برای هر کسی که برنامهنویسی کمی انجام داده است قابل خواندن باشد.
کتاب Introduction to Algorithms شامل 231 شکل – بسیاری از آنها با بخشهای متعدد – نحوه عملکرد الگوریتمها را نشان میدهد. از آنجایی که ما بر کارایی به عنوان یک معیار طراحی تأکید میکنیم، تجزیه و تحلیل دقیق زمان اجرای الگوریتمها را شامل میکنیم.
این متن عمدتاً برای استفاده در دورههای کارشناسی یا کارشناسی ارشد در الگوریتمها یا ساختارهای داده در نظر گرفته شده است. از آنجا که مسائل مهندسی در طراحی الگوریتم و همچنین جنبههای ریاضی را مورد بحث قرار میدهد، به همان اندازه برای خود مطالعه توسط متخصصان فنی مناسب است.
در ویرایش چهارم کتاب Introduction to Algorithms، یک بار دیگر کل کتاب را به روز کردهایم. این تغییرات طیف گستردهای را شامل میشود، از جمله فصلها و بخشهای جدید، تصاویر رنگی، و آنچه که امیدواریم سبک نوشتاری جذابتری داشته باشید.
برای معلم
ما کتاب Introduction to Algorithms را به گونه ای طراحی کردهایم که هم همهکاره و هم کامل باشد. شما باید آن را برای دورههای مختلف مفید بدانید، از دوره کارشناسی در ساختار داده تا دوره کارشناسی ارشد در الگوریتمها. از آنجایی که ما به میزان قابل توجهی مطالب بیشتری را نسبت به یک دوره معمولی یک ترم ارائه کرده ایم، میتوانید مطالبی را انتخاب کنید که به بهترین وجه از دورهای که میخواهید تدریس کنید پشتیبانی میکند.
سازماندهی دوره خود را فقط حول فصلهایی که نیاز دارید برای شما آسان است. ما فصلها را نسبتاً مستقل ساختهایم، بنابراین لازم نیست نگران وابستگی غیرمنتظره و غیرضروری یک فصل به فصل دیگر باشید. در حالی که در دوره کارشناسی، شما ممکن است فقط از برخی از بخشهای یک فصل استفاده کنید، در دوره کارشناسی ارشد، ممکن است کل فصل را پوشش دهید.
ما 931 تمرین و 162 مسئله را در کتاب Introduction to Algorithms گنجاندهایم. هر بخش با تمرین و هر فصل با مسائل به پایان میرسد. تمرینها معمولاً سؤالات کوتاهی هستند که تسلط اولیه بر مطالب را آزمایش میکنند. برخی از آنها تمرینات فکری ساده خودآزمایی هستند، اما بسیاری از آنها به عنوان تکالیف تعیین شده قابل توجه و مناسب هستند. مشکلات شامل مطالعات موردی دقیق تر است که اغلب مطالب جدیدی را معرفی میکند. آنها اغلب شامل چندین بخش هستند که دانشآموز را طی مراحل مورد نیاز برای رسیدن به یک راه حل هدایت میکند.
مانند ویرایش سوم کتاب Introduction to Algorithms، ما راهحلهایی را برای برخی از مشکلات و تمرینها، اما به هیچ وجه، در دسترس عموم قرار دادهایم. شما میتوانید این راه حلها را در وبسایت ما، http://mitpress.mit.edu/algorithms/ پیدا کنید.
میخواهید این سایت را بررسی کنید تا ببینید آیا راهحل تمرین یا مشکلی را که میخواهید اختصاص دهید، در آن وجود دارد یا خیر. از آنجایی که مجموعه راه حلهایی که ما ارسال میکنیم ممکن است در طول زمان افزایش یابد، توصیه میکنیم هر بار که دوره را تدریس میکنید، سایت را بررسی کنید.
ما بخشها و تمرینهایی را که برای دانشجویان تحصیلات تکمیلی مناسبتر از دانشجویان کارشناسی هستند (★) ستارهدار کردهایم. یک بخش ستاره دار لزوما دشوارتر از بخش بدون ستاره نیست، اما ممکن است نیاز به درک ریاضیات پیشرفتهتری داشته باشد. به همین ترتیب، تمرینات ستارهدار ممکن است به یک پیشزمینه پیشرفته یا خلاقیت بیش از حد متوسط نیاز داشته باشد.
به دانشآموز
امیدواریم کتاب Introduction to Algorithms درسی مقدمهای لذتبخش را در زمینه الگوریتمها برای شما فراهم کند. ما سعی کرده ایم هر الگوریتمی را در دسترس و جالب قرار دهیم. برای کمک به شما در هنگام مواجهه با الگوریتمهای ناآشنا یا دشوار، هر کدام را به صورت گامبهگام شرح میدهیم.
ما همچنین توضیحات دقیقی از ریاضیات مورد نیاز برای درک تحلیل الگوریتمها و شکلهای پشتیبان ارائه میکنیم تا به شما در تجسم آنچه در جریان است کمک کنیم.
امیدواریم کتاب Introduction to Algorithms درسی مقدمه ای لذت بخش را در زمینه الگوریتمها برای شما فراهم کند. ما سعی کرده ایم هر الگوریتمی را در دسترس و جالب قرار دهیم. برای کمک به شما در هنگام مواجهه با الگوریتمهای ناآشنا یا دشوار، هر کدام را به صورت گام به گام شرح میدهیم. ما همچنین توضیحات دقیقی از ریاضیات مورد نیاز برای درک تحلیل الگوریتمها و شکلهای پشتیبان ارائه میکنیم تا به شما در تجسم آنچه در جریان است کمک کنیم.
از آنجایی که این کتاب بزرگ است، احتمالاً کلاس شما فقط بخشی از مطالب آن را پوشش میدهد. اگرچه ما امیدواریم که اکنون این کتاب به عنوان یک کتاب درسی برای شما مفید باشد، ما همچنین سعی کردهایم آن را به اندازه کافی جامع کنیم تا فضایی را در قفسه کتاب حرفهای آینده شما تضمین کنیم.
پیشنیازهای خواندن کتاب Introduction to Algorithms چیست؟
شما به تجربه برنامه نویسی نیاز دارید. به طور خاص، شما باید رویههای بازگشتی و ساختارهای داده ساده، مانند آرایهها و فهرستهای پیوندی را درک کنید (اگرچه بخش 10.2 فهرستهای پیوندی و گونهای را که ممکن است جدید بیابید، پوشش میدهد).
شما باید با اثباتهای ریاضی، و به ویژه اثباتهای استقرایی ریاضی، امکاناتی داشته باشید. چند بخش از کتاب بر دانش حساب ابتدایی تکیه دارد. اگرچه این کتاب از ریاضیات در سراسر استفاده میکند، بخش اول و ضمائم A-D تمام تکنیکهای ریاضی مورد نیاز را به شما آموزش میدهند.
وبسایت ما، http://mitpress.mit.edu/algorithms/، به راه حلهایی برای برخی از مشکلات و تمرینها پیوند میدهد. در صورت تمایل راه حلهای خود را در برابر راه حلهای ما بررسی کنید. با این حال از شما میخواهیم که راه حلهای خود را برای ما ارسال نکنید.
به حرفهای
گستره وسیع موضوعات کتاب Introduction to Algorithms آن را به یک کتاب راهنمای عالی در مورد الگوریتم تبدیل کرده است. از آنجایی که هر فصل نسبتاً مستقل است، میتوانید بر موضوعات مرتبط با خود تمرکز کنید.
از آنجایی که بیشتر الگوریتمهایی که مورد بحث قرار میدهیم کاربرد عملی زیادی دارند، به نگرانیهای پیادهسازی و سایر مسائل مهندسی میپردازیم. ما اغلب جایگزینهای عملی برای معدود الگوریتمهایی ارائه میکنیم که عمدتاً از نظر نظری مورد توجه هستند.
اگر میخواهید هر یک از الگوریتمها را پیادهسازی کنید، باید ترجمه شبه کد ما به زبان برنامهنویسی مورد علاقهتان را کار نسبتاً سادهای بدانید. ما شبه کد را طراحی کرده ایم تا هر الگوریتم را به طور واضح و مختصر ارائه کنیم.
در نتیجه، ما به رسیدگی به خطاها و سایر مسائل مهندسی نرم افزار که نیاز به فرضیات خاصی در مورد محیط برنامه نویسی شما دارند، نمیپردازیم. ما سعی میکنیم هر الگوریتم را به سادگی و مستقیماً ارائه کنیم بدون اینکه اجازه دهیم ویژگیهای یک زبان برنامهنویسی خاص ماهیت آن را مبهم کند.
اگر به آرایههای با مبدا 0 عادت دارید، ممکن است تمرین مکرر ما در فهرستبندی آرایهها از 1 را یک مانع کوچک بدانید. همیشه میتوانید 1 را از شاخصهای ما کم کنید یا فقط آرایه را بیش از حد تخصیص دهید و موقعیت 0 را بدون استفاده رها کنید.
ما میدانیم که اگر از این کتاب خارج از دوره استفاده میکنید، ممکن است نتوانید راهحلهای مسائل و تمرینهای خود را در مقابل راهحلهای ارائهشده توسط یک مربی بررسی کنید. وب سایت ما، http://mitpress.mit.edu/algorithms/، به راه حلهایی برای برخی از مشکلات و تمرینها پیوند میدهد تا بتوانید کار خود را بررسی کنید. لطفا راه حلهای خود را برای ما نفرستید.
به همکارانمان
ما کتابشناسی و اشارههای گستردهای به ادبیات فعلی ارائه کردهایم. هر فصل کتاب Introduction to Algorithms با مجموعهای از یادداشتهای فصل به پایان میرسد که جزئیات و ارجاعات تاریخی را ارائه میدهد. با این حال، یادداشتهای فصل مرجع کاملی به کل حوزه الگوریتمها ارائه نمیکنند. اگرچه ممکن است باور کردن برای کتابی با این اندازه سخت باشد، اما محدودیتهای فضا مانع از گنجاندن بسیاری از الگوریتمهای جالب شد.
علیرغم درخواستهای بیشماری از دانشآموزان برای راهحل مسائل و تمرینها، ما این سیاست را اتخاذ کردهایم که برای آنها منابع ذکر نشده است، و وسوسه دانشآموزان برای جستجوی راهحل به جای کشف آن را از بین میبریم.
تغییرات برای ویرایش چهارم کتاب Introduction to Algorithms
همانطور که در مورد تغییرات ویرایش دوم و سوم گفتیم، بسته به نوع نگاه شما، کتاب Introduction to Algorithms یا زیاد یا کمی تغییر کرده است. نگاهی گذرا به فهرست مطالب نشان میدهد که بیشتر فصلها و بخشهای ویرایش سوم در ویرایش چهارم آمده است. ما سه فصل و چندین بخش را حذف کردیم، اما سه فصل جدید و چندین بخش جدید جدا از این فصلهای جدید اضافه کردهایم.
ما سازمان ترکیبی را از سه نسخه اول حفظ کردیم. کتاب Introduction to Algorithms بهجای سازماندهی فصلها فقط بر اساس حوزههای مشکل یا فقط بر اساس تکنیکها، عناصر هر دو را در بر میگیرد. این شامل فصول مبتنی بر تکنیک در مورد تقسیم و غلبه، برنامهنویسی پویا، الگوریتمهای حریصانه، تجزیه و تحلیل مستهلکشده، تقویت ساختار داده، کامل بودن NP، و الگوریتمهای تقریب است.
اما همچنین دارای بخشهای کامل در مرتبسازی، ساختارهای داده برای مجموعههای پویا، و الگوریتمها برای مشکلات گراف است. ما متوجه شدیم که اگرچه شما باید بدانید که چگونه تکنیکهایی را برای طراحی و تجزیه و تحلیل الگوریتمها به کار ببرید، مشکلات به ندرت به شما اعلام میکنند که کدام تکنیکها برای حل آنها سازگارتر هستند.
برخی از تغییرات در ویرایش چهارم به طور کلی در سراسر کتاب Introduction to Algorithms اعمال میشود و برخی نیز مختص فصلها یا بخشهای خاصی است. در اینجا خلاصه ای از مهم ترین تغییرات کلی آمده است:
ما 140 تمرین جدید و 22 چالش جدید اضافه کردیم. ما همچنین بسیاری از تمرینها و مشکلات قدیمی را، اغلب در نتیجه بازخورد خواننده، بهبود دادیم. (با تشکر از همه خوانندگانی که پیشنهاد دادند.)
ما رنگ داریم! با طراحان MIT Press، پالت محدودی را انتخاب کردیم که برای انتقال اطلاعات و چشم نواز بودن طراحی شده بود. (خوشحالیم که درختان قرمز-مشکی را به رنگ قرمز و سیاه نشان دهیم – این را دریافت کنید – قرمز و سیاه!) برای افزایش خوانایی، اصطلاحات تعریف شده، نظرات شبه کد و شماره صفحات در فهرست رنگی هستند.
رویههای شبه کد روی یک پسزمینه برنزه ظاهر میشوند تا تشخیص آنها آسانتر شود، و لزوماً در صفحه اولین مرجع ظاهر نمیشوند. وقتی این کار را نمیکنند، متن شما را به صفحه مربوطه هدایت میکند. در همین راستا، ارجاعات غیرمحلی به معادلات شماره گذاری شده، قضایا، لمها و پیامدها شامل شماره صفحه میشود.
ما موضوعاتی را که به ندرت تدریس می شد حذف کردیم. ما به طور کامل فصلهای مربوط به پشتههای فیبوناچی، درختان ون امده بواس، و هندسه محاسباتی را حذف کردیم.
علاوه بر این، مطالب زیر حذف شد: مسئله حداکثر زیرآرایی، پیادهسازی نشانگرها و اشیاء، درهمسازی کامل، درختهای جستجوی باینری بهطور تصادفی ساختهشده، ماتروئیدها، الگوریتمهای فشار-relabel برای حداکثر جریان، روش تبدیل فوریه سریع تکراری، جزئیات الگوریتم سیمپلکس برای برنامهریزی خطی و فاکتورسازی اعداد صحیح شما میتوانید تمام مطالب حذف شده را در وبسایت ما، http://mitpress.mit.edu/algorithms/ پیدا کنید.
ما کل کتاب Introduction to Algorithms را مرور کردیم و جملات، پاراگرافها و بخشها را بازنویسی کردیم تا نوشتار واضحتر، شخصیتر و جنسیتی خنثیتر شود. به عنوان مثال، «مشکل فروشنده مسافر» در نسخههای قبلی اکنون «مشکل فروشنده- مسافر» نامیده میشود.
ما معتقدیم که بسیار مهم است که مهندسی و علوم، از جمله رشته علوم کامپیوتر خودمان، مورد استقبال همه قرار گیرند. (محلی که ما را شگفتزده کرد در فصل 13 کتاب Introduction to Algorithms است که برای خواهر و برادر والدین یک اصطلاح لازم است. از آنجایی که زبان انگلیسی چنین اصطلاحی از نظر جنسیت خنثی ندارد، متأسفانه کلمه “عمو” را گیر کردیم.)
یادداشتهای فصل، کتابشناسی و نمایه بهروزرسانی شدند که نشاندهنده رشد چشمگیر حوزه الگوریتمها از ویرایش سوم است.
ما اشتباهات را تصحیح کردیم و اکثر اصلاحات را در وب سایت خود از خطاهای ویرایش سوم پست کردیم. مواردی که گزارش شده بود در حالی که ما در حال آماده سازی این نسخه بودیم پست نشدند، اما در این نسخه اصلاح شدند. (باز هم از همه خوانندگانی که ما را در شناسایی مسائل یاری کردند تشکر میکنیم.)
تغییرات ویژه برای ویرایش چهارم شامل موارد زیر است:
ما فصل 3 کتاب Introduction to Algorithms را تغییر نام دادیم و قبل از پرداختن به تعاریف رسمی، بخشی را اضافه کردیم که نمای کلی از نماد مجانبی را ارائه میدهد.
فصل 4 کتاب Introduction to Algorithms دستخوش تغییرات اساسی شد تا پایههای ریاضی خود را بهبود بخشد و آن را قوی تر و شهودی تر کند. مفهوم تکرار الگوریتمی معرفی شد و موضوع نادیده گرفتن کف و سقف در تکرارها با جدیت بیشتری مورد توجه قرار گرفت. مورد دوم قضیه اصلی شامل عوامل چند لگاریتمی است و اکنون یک اثبات دقیق از یک نسخه “مستمر” از قضیه اصلی ارائه شده است. همچنین روش قدرتمند و عمومی اکرا بزی (بدون اثبات) را ارائه میدهیم.
الگوریتم ترتیب آمار قطعی در فصل 9 کمی متفاوت است و تجزیه و تحلیل هر دو الگوریتم آماری ترتیب تصادفی و قطعی اصلاح شده است.
علاوه بر پشتهها و صفها، بخش 10.1 راههای ذخیره آرایهها و ماتریسها را مورد بحث قرار میدهد.
فصل 11 کتاب Introduction to Algorithms در جداول هش شامل درمان مدرن توابع هش است. همچنین بر کاوش خطی بهعنوان روشی کارآمد برای رفع تصادم زمانی که سختافزار زیربنایی برای جستجوهای محلی، کش را پیادهسازی میکند، تأکید میکند.
برای جایگزینی بخشهای مربوط به matroids در فصل 15، یک مشکل در نسخه سوم در مورد حافظه پنهان آفلاین را به یک بخش کامل تبدیل کردیم.
بخش 16.4 اکنون حاوی توضیحی بصریتر از توابع بالقوه برای تجزیه و تحلیل دوبرابر کردن و نصف کردن جدول است.
فصل 17 کتاب Introduction to Algorithms در مورد تقویت ساختارهای داده از قسمت III به قسمت پنجم منتقل شد، که منعکس کننده دیدگاه ما است که این تکنیک فراتر از مواد اولیه است.
فصل 25 کتاب Introduction to Algorithms فصل جدیدی در مورد تطابق در نمودارهای دوبخشی است. این الگوریتمهایی را برای یافتن تطابق حداکثر کاردینالیته، حل مشکل ازدواج پایدار، و یافتن تطابق حداکثر وزن (معروف به “مسئله انتساب”) ارائه میکند.
فصل 26 کتاب Introduction to Algorithms، در مورد محاسبات موازی کار، با اصطلاحات مدرن، از جمله نام فصل، به روز شده است.
فصل 27 کتاب Introduction to Algorithms که الگوریتمهای آنلاین را پوشش میدهد، فصل جدید دیگری است. در یک الگوریتم آنلاین، ورودی به جای اینکه در ابتدای الگوریتم به طور کامل در دسترس باشد، در طول زمان میرسد. این فصل چندین نمونه از الگوریتمهای آنلاین را شرح میدهد، از جمله تعیین مدت زمان انتظار برای آسانسور قبل از رفتن از پلهها، حفظ فهرست پیوندی از طریق اکتشافی حرکت به جلو، و ارزیابی سیاستهای جایگزینی برای حافظه پنهان.
در فصل 29 کتاب Introduction to Algorithms، ارائه دقیق الگوریتم سیمپلکس را حذف کردیم، زیرا این الگوریتم ریاضی سنگین بود بدون اینکه واقعاً ایدههای الگوریتمی زیادی را منتقل کند. این فصل اکنون بر جنبه کلیدی چگونگی مدلسازی مسائل بهعنوان برنامههای خطی، همراه با ویژگی دوگانگی اساسی برنامهریزی خطی تمرکز میکند.
بخش 32.5 به فصل مربوط به مطابقت رشته با ساختار ساده و در عین حال قدرتمند آرایههای پسوندی اضافه میکند.
فصل 33 کتاب Introduction to Algorithms، در مورد یادگیری ماشین، سومین فصل جدید است. چندین روش اساسی مورد استفاده در یادگیری ماشین را معرفی میکند: خوشهبندی برای گروهبندی موارد مشابه، الگوریتمهای اکثریت وزنی، و نزول گرادیان برای یافتن حداقلکننده یک تابع.
بخش 34.5.6 استراتژیهای کاهش زمان چند جملهای را خلاصه میکند تا نشان دهد که مسائل NP-hard هستند.
اثبات الگوریتم تقریب برای مسئله پوشش مجموعه در بخش 35.3 تجدید نظر شده است.
همچنین میتوانید برای مطالعهی الگوریتمهای بینایی مربوط به کامپیوتر از کتاب Hands-On Algorithms for Computer Vision نیز استفاده کنید.
سرفصلهای کتاب Introduction to Algorithms:
- Cover
- Copyright
- Contents
- Preface
- I Foundations
- Introduction
- 1 The Role of Algorithms in Computing
- 2 Getting Started
- 3 Characterizing Running Times
- 4 Divide-and-Conquer
- 5 Probabilistic Analysis and Randomized Algorithms
- II Sorting and Order Statistics
- Introduction
- 6 Heapsort
- 7 Quicksort
- 8 Sorting in Linear Time
- 9 Medians and Order Statistics
- III Data Structures
- Introduction
- 10 Elementary Data Structures
- 11 Hash Tables
- 12 Binary Search Trees
- 13 Red-Black Trees
- IV Advanced Design and Analysis Techniques
- Introduction
- 14 Dynamic Programming
- 15 Greedy Algorithms
- 16 Amortized Analysis
- V Advanced Data Structures
- Introduction
- 17 Augmenting Data Structures
- 18 B-Trees
- 19 Data Structures for Disjoint Sets
- VI Graph Algorithms
- Introduction
- 20 Elementary Graph Algorithms
- 21 Minimum Spanning Trees
- 22 Single-Source Shortest Paths
- 23 All-Pairs Shortest Paths
- 24 Maximum Flow
- 25 Matchings in Bipartite Graphs
- VII Selected Topics
- Introduction
- 26 Parallel Algorithms
- 27 Online Algorithms
- 28 Matrix Operations
- 29 Linear Programming
- 30 Polynomials and the FFT
- 31 Number-Theoretic Algorithms
- 32 String Matching
- 33 Machine-Learning Algorithms
- 34 NP-Completeness
- 35 Approximation Algorithms
- VIII Appendix: Mathematical Background
- Introduction
- A Summations
- B Sets, Etc.
- C Counting and Probability
- D Matrices
- Bibliography
- Index
فایل کتاب Introduction to Algorithms نسخه 4 را میتوانید پس از پرداخت، دانلود کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.