Download Algorithms (Алгоритмы) by Robert Sedgewick PDF

By Robert Sedgewick

Из предисловия к книге
"...The ebook includes 40 chapters that are grouped into seven significant elements: mathematical algorithms, sorting, looking out, string processing, geometric algorithms, graph algorithms and complicated themes. a massive aim within the improvement of this publication has been to collect the basic tools from those different parts, which will offer entry to the simplest equipment that we all know for fixing difficulties by way of computing device for as many folks as possible."

Некоторое время назад на сайте были опубликованы первый и второй тома "Фундаментальных алгоритмов на С++" Роберта Седжвика. Книга Algorithms - одна из ранних публикаций (1983 год) этого автора, на русский язык она не переводилась.

Книга рассчитана на тех, кто уже немного знаком с основами программирования (скорее студентов, нежели школьников), фрагменты программ приведены на языке Pascal, в конце каждой главы имеются упражнения.

Алгоритмы описываются весьма кратко и достаточно простым языком (простота касается и английского языка - чтение книги вряд ли будет более трудным, чем чтение справочной информации в современных системах программирования). Представляется удобным то, что большое количество популярных алгоритмов
собраны под одной обложкой. Это позволяет использовать книгу и в качестве справочника.

Конечно, работу Седжвика трудно сравнивать по фундаментальности и строгости с замечательной книгой "Алгоритмы. Построение и анализ" Кормена, Лейзерсона, Ривеста и Штайна, но знакомство с первой может оказаться полезным при изучении второй.

Скан не мой, был когда-то найден в сети. Как уже говорилось, качество его умеренно хорошее: в некоторых формулах (реже в программах) встречаются ошибки распознавания. Однако в большинстве случаев правильный символ может быть легко "восстановлен".

Show description

Read Online or Download Algorithms (Алгоритмы) PDF

Similar algorithms and data structures books

Nonsmooth optimization: analysis and algorithms with applications to optimal control

This publication is a self-contained straightforward examine for nonsmooth research and optimization, and their use in answer of nonsmooth optimum keep watch over difficulties. the 1st a part of the e-book is worried with nonsmooth differential calculus containing worthy instruments for nonsmooth optimization. the second one half is dedicated to the equipment of nonsmooth optimization and their improvement.

Data Protection for Virtual Data Centers

Crucial info on easy methods to guard facts in digital environments! Virtualization is altering the information heart structure and for this reason, facts safety is is instantly evolving besides. This precise booklet, written by means of an professional with over eighteen years of knowledge storage/backup adventure, exhibits you the way to process, shield, and deal with facts in a virtualized setting.

Reporting District-Level NAEP Data

The nationwide evaluate of schooling development (NAEP) has earned a name as one of many nation's most sensible measures of scholar fulfillment in key topic parts. on the grounds that its inception in 1969, NAEP has summarized educational functionality for the kingdom as an entire and, starting in 1990, for the person states.

Extra resources for Algorithms (Алгоритмы)

Sample text

Our purpo,se in this discussion is to gain some intuitive feeling for how divide-and-conquer algorithms achieve efficiency, not to do detailed analysis of the algorithms. Indeed, the particular recurrences that we’ve just solved are sufficient to describe the performance of most of the algorithms that we’ll be studying, and we’ll simply be referring back to them. Matrix Multiplication The most famous application of the divide-and-conquer technique to an arithmetic problem is Strassen’s method for matrix multiplication.

Knuth recommends the choices b=31, c=55 will work well for most applications, which leads to the implementation below. 5; alj]:=(a[(j+23) mod 55]+a [ (jf54) mod 551) mod m; randomint:=((ab] div ml)*r) div ml end; The program maintains the 55 most recently generated numbers, with the last generated pointed to by j. Thus, the global variable a has been replaced by a full table plus a pointer (j) into it. This large amount of “global state” is a disadvantage of this generator in some applications, but it is also an advantage because it leads to an extremely long cycle even if the modulus m is small.

As with polynomials, sparse matrices (those with many zero elements) can be processed in a much more efficient manner using a linked list representation. To keep the two-dimensional structure intact, each nonzero matrix element is represented by a list node containing ,a value and two links: one pointing to the next nonzero element in the same row and the other pointing to the next nonzero element in the same column. Implementing addition for sparse CHAPTER 2 matrices represented in this way is similar to our implementation for sparse polynomials, but is complicated by the fact that each node appears on two lists.

Download PDF sample

Rated 4.86 of 5 – based on 38 votes