نرم افزار: سیستم ها: محاسبات علمی

هنر برنامه نویسی کامپیوتر، جلد 1: الگوریتم های بنیادی (ویرایش سوم)

The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)

دانلود کتاب The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (به فارسی: هنر برنامه نویسی کامپیوتر، جلد 1: الگوریتم های بنیادی (ویرایش سوم)) نوشته شده توسط «Donald E. Knuth»


اطلاعات کتاب هنر برنامه نویسی کامپیوتر، جلد 1: الگوریتم های بنیادی (ویرایش سوم)

موضوع اصلی: کامپیوتر – علوم کامپیوتر

نوع: کتاب الکترونیکی

ناشر: Addison-Wesley Professional

نویسنده: Donald E. Knuth

زبان: english

فرمت کتاب: EPUB (قابل تبدیل به سایر فرمت ها)

سال انتشار: 1997

حجم فایل: 66.50 مگابایت

کد کتاب: 0201896834 , 9780201896831

نوبت چاپ: 3

توضیحات کتاب هنر برنامه نویسی کامپیوتر، جلد 1: الگوریتم های بنیادی (ویرایش سوم)

این گشت و گذار باشکوه یک نمای کلی جامع از طیف گسترده ای از الگوریتم ها و تجزیه و تحلیل آنها را ارائه می دهد. اکنون در ویرایش سوم خود، هنر برنامه‌نویسی کامپیوتری، جلد اول: الگوریتم‌های بنیادی شامل بازبینی‌های اساسی توسط نویسنده و شامل تمرین‌های جدید متعدد است.
اگرچه این کتاب چندین دهه پیش طراحی شد، اما هنوز یک کتاب کلاسیک جاودانه است. یکی از بزرگترین نقاط قوت کتاب مجموعه شگفت انگیز مسائلی است که هر فصل را همراهی می کند. نویسنده مسائل را با دقت انتخاب کرده و بر حسب سختی فهرست بندی کرده است. حل تعداد قابل توجهی از این مشکلات به شما کمک می کند تا درک کاملی از مسائل پیرامون موضوع داده شده به دست آورید. علاوه بر این، تمرینات دارای انواع مسائل کلاسیک هستند.

الگوریتم های بنیادی با مقدمات ریاضی شروع می شود. بخش اول زمینه خوبی را در انواع ابزارهای مفید ریاضی ارائه می دهد: تکنیک های اثبات، ترکیبات و نظریه اعداد ابتدایی. Knuth سپس جزئیات پردازنده MIX، یک معماری ماشین مجازی را که به عنوان هدف برنامه‌نویسی برای بحث‌های بعدی عمل می‌کند، توضیح می‌دهد. این بخش فوق العاده به طور جامع اصول معماری ساده ماشین را پوشش می دهد و با بحث در سطح ثبت مجموعه دستورالعمل ها شروع می شود. بحث بعدی در مورد یک شبیه ساز برای این ماشین شامل شرح عالی از اصول زیربنای اجرای زیر روال ها و روال های مشترک است. پیاده سازی چنین شبیه ساز مقدمه ای عالی برای طراحی کامپیوتری است.

در بخش دوم، Knuth ساختارهای داده را پوشش می دهد – پشته ها، صف ها، لیست ها، آرایه ها و درختان – و پیاده سازی ها (در مونتاژ MIX) را همراه با تکنیک هایی برای دستکاری این ساختارها ارائه می دهد. کنوت بسیاری از الگوریتم ها را با تحلیل دقیق زمان و مکان دنبال می کند. در بخش ساختارهای درختی، بحث شامل یک سری مسائل جالب در مورد ترکیبات درختان (مثلاً شمارش درختان متمایز از یک فرم خاص) و برخی کاربردهای خاص جالب است. همچنین بحثی در مورد رمزگذاری هافمن و در بخش فهرست‌ها، مقدمه‌ای عالی برای الگوریتم‌های جمع‌آوری زباله و چالش‌های دشوار مرتبط با چنین کاری است. کتاب با بحث در مورد الگوریتم های تخصیص پویا بسته می شود.

نوشته واضح در الگوریتم های بنیادی با طنز خشک کنوت و بحث های تاریخی که با موضوع فنی همراه است، تقویت شده است. به طور کلی، این متن یکی از کلاسیک‌های بزرگ ادبیات برنامه‌نویسی کامپیوتری است – درک این کتاب آسان نیست، اما کتابی است که هر برنامه‌نویس واقعی با لذت مطالعه می‌کند.


This magnificent tour de force presents a comprehensive overview of a wide variety of algorithms and the analysis of them. Now in its third edition, The Art of Computer Programming, Volume I: Fundamental Algorithms contains substantial revisions by the author and includes numerous new exercises.
Although this book was conceived several decades ago, it is still a timeless classic. One of the book’s greatest strengths is the wonderful collection of problems that accompany each chapter. The author has chosen problems carefully and indexed them according to difficulty. Solving a substantial number of these problems will help you gain a solid understanding of the issues surrounding the given topic. Furthermore, the exercises feature a variety of classic problems.

Fundamental Algorithms begins with mathematical preliminaries. The first section offers a good grounding in a variety of useful mathematical tools: proof techniques, combinatorics, and elementary number theory. Knuth then details the MIX processor, a virtual machine architecture that serves as the programming target for subsequent discussions. This wonderful section comprehensively covers the principles of simple machine architecture, beginning with a register-level discussion of the instruction set. A later discussion of a simulator for this machine includes an excellent description of the principles underlying the implementation of subroutines and co-routines. Implementing such a simulator is an excellent introduction to computer design.

In the second section, Knuth covers data structures–stacks, queues, lists, arrays, and trees–and presents implementations (in MIX assembly) along with techniques for manipulating these structures. Knuth follows many of the algorithms with careful time and space analysis. In the section on tree structures, the discussion includes a series of interesting problems concerning the combinatorics of trees (counting distinct trees of a particular form, for example) and some particularly interesting applications. Also featured is a discussion of Huffmann encoding and, in the section on lists, an excellent introduction to garbage collection algorithms and the difficult challenges associated with such a task. The book closes with a discussion of dynamic allocation algorithms.

The clear writing in Fundamental Algorithms is enhanced by Knuth’s dry humor and the historical discussions that accompany the technical matter. Overall, this text is one of the great classics of computer programming literature–it’s not an easy book to grasp, but one that any true programmer will study with pleasure.

دانلود کتاب «هنر برنامه نویسی کامپیوتر، جلد 1: الگوریتم های بنیادی (ویرایش سوم)»

مبلغی که بابت خرید کتاب می‌پردازیم به مراتب پایین‌تر از هزینه‌هایی است که در آینده بابت نخواندن آن خواهیم پرداخت.

برای دریافت کد تخفیف ۲۰ درصدی این کتاب، ابتدا صفحه اینستاگرام کازرون آنلاین (@kazerun.online ) را دنبال کنید. سپس، کلمه «بلیان» را در دایرکت ارسال کنید تا کد تخفیف به شما ارسال شود.

دیدگاهتان را بنویسید