طراحی الگوریتم CLRS

یکی از معتبرترین منابع درس طراحی الگوریتم ها (و ساختمان داده ها) کتاب Introduction To Algorithms نوشته Thomas Cormen و Charles Leiserson و Ronald Rivest و Clifford Stein معروف به کتاب CLRS (سرنام نویسندگان آن) میباشد.این کتاب مباحث متنوعی از طراحی الگوریتمها و ساختمان داده ها (از جمله مرتب سازی ها، برنامه نویسی پویا، الگوریتمهای حریصانه و …) را در بر میگیرد. بخشی از مقدمه کتاب:

This part will get you started in thinking about designing and analyzing algorithms. It is intended to be a gentle introduction to how we specify algorithms, some of the design strategies we will use  throughout this book, and many of the fundamental ideas used in algorithm analysis. Later parts of this book will build upon this base. Chapter 1 is an overview of algorithms and their place in  modern computing systems. This chapter defines what an algorithm is and lists some examples. It also makes a case that algorithms are a technology, just as are fast hardware, graphical user  interfaces, object-oriented systems, and networks. In Chapter 2, we see our first algorithms, which solve the problem of sorting a sequence of n numbers. They are written in a pseudocode which,  although not directly translatable to any conventional programming language, conveys the structure of the algorithm clearly enough that a competent programmer can implement it in the  language of his choice. The sorting algorithms we examine are insertion sort, which uses an incremental approach, and merge sort, which uses a recursive technique known as “divide and conquer.” Although the time each  requires increases with the value of n, the rate of increase differs between the two algorithms. We determine these running times in Chapter 2, and we develop a useful notation to express them.

***برای دریافت این کتاب و حل مسائل آن به قسمت طراحی الگوریتم مراجعه کنید.