Алгоритмические трюки для программистов

Hacker"s Delight
Название в оригиналеHacker"s Delight
ИздательствоВильямс
Год издания2013
Страниц512
ПереплетТвердый переплет
ИзданиеВторое издание
Формат70х100/16 (170х240 мм, увеличенный)
ISBN978-5-8459-1838-3
ИзготовительООО "Издательский дом "Вильямс". 101509, РФ, г. Москва, ул. Лесная, 43, стр. 1
ИмпортерООО «НТЦ АПИ», г. Минск, ул. Уманская, 54, пом. 1, каб. 34

Книга "Алгоритмические трюки для программистов" (Hacker`s Delight-2) позволит повысить квалификацию профессиональному программисту, но при этом книга будет понятна и чрезвычайно полезна даже начинающему и даже студенту, тем более что в новом издании появилась масса упражнений, интересных как с теоретической, так и с практической точки зрений.

Книга "Алгоритмические трюки для программистов" (Hacker`s Delight-2) позволит повысить квалификацию профессиональному программисту, но при этом книга будет понятна и чрезвычайно полезна даже начинающему и даже студенту, тем более что в новом издании появилась масса упражнений, интересных как с теоретической, так и с практической точки зрений. Работа программиста всегда немного хакерство, а также смесь арифметики и логики, особенно это касается программиста, который создает элегантный и эффективно работающий код. В этой книге программист-ветеран IBM Генри Уоррен делится с читателями разнообразными приемами из своей коллекции, пополняемой в течение многих десятилетий работы в области разработки компиляторов и архитектуры компьютеров, прикладного и системного программирования. Большинство из них носят практический характер, хотя некоторые представляют в первую очередь теоретический интерес.

Автор книги много лет систематически собирал программные перлы, а затем свел их воедино, организовал и снабдил четким описанием. В этой книге слову "хакер" возвращено его первозданное значение - человека увлеченного, талантливого программиста, способного к созданию чрезвычайно эффективного и элегантного кода. В книге воплощен пятидесятилетний стаж ее автора в области разработки компиляторов и архитектуры компьютеров. Здесь вы найдете множество приемов для работы с отдельными битами, байтами, вычисления различных целочисленных функций; большей части материала сопутствует строгое математическое обоснование.

Каким бы ни был ваш профессионализм - вы обязательно найдете в этой книге новое для себя; кроме того, книга заставит вас посмотреть на уже знакомые вещи с новой стороны.

В новом издании своей книги автор вновь сумел собрать неотразимую коллекцию программистских трюков, позволяющих программисту писать элегантные и эффективные программы, быстро создавать эффективно работающий код, становясь при этом настоящим, глубоко знающим свое дело профессионалом. Трюки автора в высшей степени практичны, но при этом чрезвычайно интересны, а иногда и просто неожиданны - как решение большой головоломки. Изложенный материал позволит повысить квалификацию даже бывалому программисту, но при этом книга будет понятна и полезна даже начинающему.

ДОБАВЛЕНИЯ ВО ВТОРОЕ ИЗДАНИЕ ВКЛЮЧАЮТ:

  • Новую главу, посвященную циклическому избыточному коду (CRC), включая широко используемый код CRC-32.
  • Новую главу о кодах с коррекцией ошибок (ECC), включая подпрограммы для работы с кодом Хэмминга.
  • Большее количество материала, посвященного делению на константы, включая методы, использующие только сдвиги и сложения.
  • Вычисление остатков от деления без вычисления частного.
  • Более подробное изложение методов подсчета количества единичных битов и ведущих нулевых битов.
  • Подсчет единичных битов в массивах.
  • Новые алгоритмы сжатия и расширения.
  • Алгоритм LRU.
  • Преобразования между числами с плавающей точкой и целыми числами.
  • Программу приближенного вычисления обратного к квадратному корню.
  • Галерею графиков дискретных функций.
  • Появившиеся во втором издании упражнения и ответы к ним.

Об авторе

Генри Уоррен, мл. имеет пятидесятилетний стаж работы в IBM, его деятельность простирается от IBM 704 до PowerPC и далее. Он работал над рядом военных командно-управляющих систем и над проектом SETL под руководством Джека Шварца (Jack Schwartz) из университета Нью-Йорка. С 1973 года Уоррен занимается компиляторами и архитектурой компьютеров в исследовательском подразделении IBM. В настоящее время он работает над проектами суперкомпьютеров, которые должны достичь быстродействия, измеряемого эксафлопсами (EFLOPS). Генри Уоррен получил докторскую степень в области информационных технологий в университете Нью-Йорка.

"Это первая книга, в которой так глубоко раскрыты секреты компьютерной арифметики. В ней есть все известные мне трюки и множество ранее не известных. Эта книга - настоящая находка для разработчиков библиотек и компиляторов, для всех, кто обожает элегантность в программировании. Место этой книги на полке - рядом с книгами Кнута. Все десять лет, прошедших с выхода первого издания, книга была неоценимым помощником в моей работе в Sun и Google. Я просто дрожу от нетерпения познакомиться с новым материалом во втором издании".
Джошуа Блох (Joshua Bloch)

"Впервые увидев эту книгу, я решил, что это не то советы по взлому компьютеров, не то набор мелких программистских трюков. И только познакомившись с ней поближе, я понял, что под ее обложкой скрыта целая компьютерная энциклопедия. Второе издание охватывает две большие новые темы, и расширяет коллекцию десятками новых небольших трюков, включая те, которые я тут же применил на практике - например, вычисление среднего двух целых чисел без риска переполнения. Этот хакер действительно умеет принести удовольствие читателю!"
Гай Стил (Guy Steele)

Содержание

Предисловие
Введение
Глава 1. Введение
Глава 2. Основы
Глава 3. Округление к степени
Глава 4. Арифметические границы
Глава 5. Подсчет битов
Глава 6. Поиск в слове
Глава 7. Перестановка битов и байтов
Глава 8. Умножение
Глава 9. Целочисленное деление
Глава 10. Целое деление на константы
Глава 11. Некоторые элементарные функции
Глава 12. Системы счисления с необычными основаниями
Глава 13. Код грея
Глава 14. Циклический избыточный код
Глава 15. Коды с коррекцией ошибок
Глава 16. Кривая гильберта
Глава 17. Числа с плавающей точкой
Глава 18. Формулы для простых чисел
Ответы к упражнениям
Приложение а. Арифметические таблицы для 4-битовой машины
Приложение б. Метод ньютона
Приложение в. Графики дискретных функций
Список литературы

Кадры Все 87

Похожие лоты

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Это бесплатно, безопасно и займёт всего несколько секунд
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Напишите нам