John Mongan, Eric Giguere, Noah Suojanen. Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer) (2000)

Ще одна книга з тих які допомогають підготуватися до інтерв’ю на посаду програміста.

У книзі невелика частина присвячена резюме, тому як проводити перемовини, як домовлятися за зарплатню та інше подібне. Але ці частини занадто загалінь і на мою думку будуть у нагоді лише тим хто робить це вперше.

Більша ж частина книги присв’ячена задачам та їх рішенню. І на відміну від найбільш відомої та популярної книги цього типу Cracking the Coding Interview є кілька суттєвих відмінностей:

  • Кількість задач в цій книзі добре якщо складає три десятки, в той час як у згаданій вище задач сотні.
  • Самі задачі доволі прості з моєї точки зору і мене як правило просять розв’язувати складніші.
  • У книзі дуже велику частину приділено поясненю задачі та різним способам її розв’язання. Знову ж таки у порівнянні з більш відомою книгою де задача та поясення рішення викладено у кілької реченнях.

На мою думку це хороша книга (повторюся) для тих хто лише на початку своєї кар’єри – ознаймитися з типами задач, з тим як підходити до пошуку рішення, як думати про перевріку та тестування, які додаткові питання задавати. Комусь рівня Senior чи вище цієї книги буде явно не достатньо.

Оцінки:

Tomas A. Standish. Data Structures, Algorithms & Software principles in C (1994)

 

Перемішано у книзі абсолютно все – структури даних, алгоритми, математика, основи С та С++, розбиття файлів на модулі і таке інше. Через це книгу читати в нормальному розумінні цього слова просто неможливо – тривіальні "знання” абсолютно неочікувано містять у собі фрагменти більш складних тем.

Книгу можна було б використовувати як довідник, але і тоді важко знайти те що вам треба. Наприклад опис алгоритму, його реалізація, оцінка складності та порівняння з іншими може бути розкидано на сотні дві сторінок, а то й більше.

Gregory J.E. Rawlins. Compared to What: An Introduction to the Anaylsis of Algorithms (1991)

 

 

Це книга про алгоритми. Вірніше про те як їх вимірювати – які дані збирати і що вони означають.

Дуже багато математики – формули, таблиці, графіки. Зустрічається псевдокод в обсязі не більше 20 рядків на 10 сторінок текста, а то і менше. Читати доволі складно.

Безсумнівно прочитати було б корисно, але не скажу що ця книга є чимось обов’ясковим для девелопера. Занадто багато теорії і вимагає навичок читання математичної літератури. І явно не найкраща книга якщо вам треба просто подивитися в чому суть того чи іншого алгоритму.

Michael T. Goodrich, Roberto Tamassia, David M. Mount. Data structures and algorithms in C++ (2002–2011)

 

 

Одна з найкращих книг з алгоритмів і структур даних які я бачив.

Зовсім трошки математики на початку, причому найпростішої (навіть я її зрозумів). Далі перемішані структури даних (теорія) та їх реалізація на С++ (з шаблонами) з алгоритмами сортування, пошуку, тощо.

В книзі багато теорії, але зовсім нема води. Читакти дуже цікаво. Навіть сорци на С++ не зайві.

Коротше це та книга яку варто мати на столі та раз в пару років переглядати.

Я вставив обкладинку першого видання, але вже є третє від 2011 року.

Сайт – http://cpp.datastructures.net/