Книга: Алгоритмические трюки для программистов
2-е издание Hacker's Delight, 2nd Edition, Henry S. Warren
Товар отсутствует |
Узнать о поступлении |
Перед вами сборник программных приемов, которые я собирал много лет. Большинство из них работают только на компьютерах, на которых целые числа представлены в дополнительном до 2 коде. Хотя в данной книге речь идет о 32-разрядных машинах с соответствующей длиной регистра, большую часть представленных здесь алгоритмов легко перенести на машины с регистрами других размеров. В этой книге не рассматриваются сложные вопросы наподобие методов сортировки или оптимизации компилируемого кода. Основное внимание здесь уделяется приемам работы с отдельными машинными словами или командами, например подсчету количества единичных битов в заданном слове. В подобных приемах часто используется смесь арифметических и логических команд. Предполагается, что прерывания, связанные с переполнением целых чисел, замаскированы и произойти не могут. Программы на С, Fortran и даже Java работают именно в таком окружении, но программистам на Pascal и ADA следует быть осторожными! Представление материала в книге — неформальное. Доказательства приводятся только в том случае, если алгоритм неочевиден, а иногда не приводятся вообще. Все методы используют компьютерную арифметику, функции типа "пол", комбинации арифметических и логических операций и тому подобные средства, а доказательства теорем в этой предметной области часто сложны и громоздки. Чтобы свести к минимуму количество типографских ошибок и опечаток, многие алгоритмы реализованы на языке программирования высокого уровня, в качестве которого используется С. Это обусловлено его распространенностью и тем, что он позволяет непосредственно комбинировать операции с целыми числами и битовыми строками; кроме того, компиляторы языка С генерируют объектный код высокого качества. Ряд алгоритмов написан на машинном языке. В книге применяется трехадресный формат команд, главным образом для повышения удобочитаемости. Использован язык ассемблера для некой абстрактной машины, которая является представителем современных RISC-компьютеров.
- Посмотреть все товары по теме: algoritmus
-
- 2014-05-29 16:01:19Знаете ли Вы Первый закон творческого программирования? Он используется в качестве эпиграфа в книге Уоррена и звучит так: Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста. Роберт Д. Блисc Это, конечно, шутка, но в ней, как всегда, есть изрядная доля правды. Я эту книжку мог бы купить даже за один эпиграф! Но Вы - это не я, поэтому расскажу, о чем в книге написано. Уже по оглавлению можно судить о содержании. Множество изящнейших решений задач, которые время от времени появляются в форуме "Этюды для программистов". Уже на первой странице первой главы есть несколько простых формул. Одна из них x & (x-1) Как вы думаете, для чего она может пригодиться? Оказывается, так можно обнулить крайний справа единичный бит. И таких формул - море! Но книжка ценна не только простыми формулами. Здесь огромное количество алгоритмов. Например, в главе 11 приводится аппаратный алгоритм вычисления целочисленного квадратного корня, в котором используются только операции вычитания, сдвига вправо, и логического или (- >> | в нотации С). Считать все алгоритмы я не стал, но то, что их больше сотни - это факт! Алгоритмы написаны в одной из двух нотаций: либо на псевдо-С (очень похож на настоящий), либо в кодах гипотетической трехадресной RISC-машины, которая (ИМХО) сильно похожа на кнутовскую MMIX. В первой главе Уоррен приводит полное ее описание. В общем, понятно написано. В книжке СОВСЕМ нет никакой воды - сплошная информация. Читать ее в автобусе или в метро - трудно. Если хочешь понять, почему работает, то надо вдумчиво, за столом разбирать много примеров. Изучение (не чтение, нет) этой книги существенно повысит понимание встроенных типов данных (особенно целых) и многих нюансов работы процессора. Для большинства алгоритмов приводится математическое доказательство корректности - для некоторых это может быть интересно. Книгу можно использовать и при разработке компилятора - тут прямо приводятся оптимизационные формулы и алгоритмы. Например, на странице 206 приводится алгоритм вычисления 2^n в компиляторе IBM XL Fortran. Полезна книга окажется и для разработчиков систем реального времени, где критично время вычислений. Да и в обычных приложениях найдется, где можно применить что-нибудь из этой книжки. И напоследок. В 80-е годы в сборнике Уэзерелла "Этюды для программистов" была опубликована наверное самая знаменитая задача (по крайней мере, в России): написать программу, которая выводит свой собственный текст. Файлы использовать нельзя. Автор приводит САМУЮ КОРОТКУЮ программу на С, из известных ему, содержащую всего 64 символа. Написана Владом Таировым и Рашидом Фахреевым. main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);} Печатает саму себя - проверено в Borland C++ в режиме трансляции С-программ без отладочной информации для UNIX V. Конечно, с высоты современных стандартов это уродец, но в данном случае это неважно. Книга содержит и учит находить такие нестандартные решения. Почитайте - не пожалеете Лаптев Валерий
Подобные товары:
-
Обработка неструктурированных текстов. Поиск, организация и манипулирование Ингерсолл Г. 10902840
поиск, организация и манипулирование
товар в наличии
отгрузка: 18.031 362 руб.Обработка неструктурированных текстов. Поиск, организация и манипулирование В КОРЗИНУ -
Алгоритмы: построение и анализ Кормен Т.Х., Лейзерсон Ч.И., Ривест Р.Л. 10666267
3-е издание
товар в наличии
отгрузка: 18.035 478 руб.Алгоритмы: построение и анализ В КОРЗИНУ -
Алгоритмы искусственного интеллекта на языке Prolog. 3-е изд Братко И. 1843717
3-е изд.
товар в наличии
отгрузка: 18.033 469 руб.Алгоритмы искусственного интеллекта на языке Prolog. 3-е изд В КОРЗИНУ -
Современные алгоритмы блочного шифрования и методы их анализа Бабенко Л.К., Ищукова Е.А. 1876590
учеб.пособие для студ.вузов, обучающихся по группе специальностей в обл.информ.безопасности, ВУЗ
товар в наличии
отгрузка: 18.03290 руб.Современные алгоритмы блочного шифрования и методы их анализа В КОРЗИНУ -
Мир программирования. Анализ алгоритмов. Активный обучающий подход: Пер. с англ. Макконнелл Дж. 10039971
3-е изд., доп., ВУЗ
товар в наличии
отгрузка: 18.03693 руб.Мир программирования. Анализ алгоритмов. Активный обучающий подход: Пер. с англ. В КОРЗИНУ -
Жемчужины проектирования алгоритмов: функциональный подход Бёрд Р. 10908899
с примерами на языке Haskell
товар в наличии
отгрузка: 18.031 218 руб.Жемчужины проектирования алгоритмов: функциональный подход В КОРЗИНУ -
Модели и алгоритмы распознавания русских дактилем Дондик Е.М. 10918405
товар в наличии
отгрузка: 18.03394 руб.Модели и алгоритмы распознавания русских дактилем В КОРЗИНУ -
Алгоритмы. Справочник Поллис Г., Хайнеман Дж., Селков С. 11790133
с примерами на C, C++, Java и Python, 2-е изд.
товар в наличии
отгрузка: 18.031 643 руб.Алгоритмы. Справочник В КОРЗИНУ -
Грокаем алгоритмы Бхаргава А. 11866703
иллюстрированное пособие для программистов и любопытствующих
товар в наличии
отгрузка: 18.03970 руб.Грокаем алгоритмы В КОРЗИНУ -
Алгоритмы: построение и анализ Кормен Т. 11891874
3-е изд.
товар в наличии
отгрузка: 18.035 478 руб.Алгоритмы: построение и анализ В КОРЗИНУ -
Совершенный алгоритм. Основы Рафгарден Т. 11897179
товар в наличии
отгрузка: 18.031 313 руб.Совершенный алгоритм. Основы В КОРЗИНУ -
Грокаем алгоритмы Бхаргава Адитья 11786580
иллюстрированное пособие для программистов и любопытствующих
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11786580 Грокаем алгоритмы222 руб.Грокаем алгоритмы Товар отсутствует. -
Распределенные алгоритмы Фоккинк У. 11513414
интуитивный подход
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11513414 Распределенные алгоритмы954 руб.Распределенные алгоритмы Товар отсутствует. -
Алгоритмы: вводный курс Кормен Т.Х. 10762017
Algorithms Unlocked Thomas H. Cormen
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10762017 Алгоритмы: вводный курс1 038 руб.Алгоритмы: вводный курс Товар отсутствует. -
Алгоритмы обработки строк Окулов С.М. 10155411
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10155411 Алгоритмы обработки строк165 руб.Алгоритмы обработки строк Товар отсутствует. -
Большие данные Марц Н., Уоррен ДЖ. 11292342
принципы и практика построения масштабируемых систем обработки данных в реальном времени
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11292342 Большие данные1 386 руб.Большие данные Товар отсутствует. -
Искусство поиска решения в нестандартной задаче В. В. Потопахин 10805852
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10805852 Искусство поиска решения в нестандартной задаче439 руб.Искусство поиска решения в нестандартной задаче Товар отсутствует. -
Теоретико-числовые алгоритмы в криптографии Василенко О.Н. 10671675
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10671675 Теоретико-числовые алгоритмы в криптографии257 руб.Теоретико-числовые алгоритмы в криптографии Товар отсутствует. -
Информационное моделирование. Величины, объекты, алгоритмы Н. Суворова 10110224
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10110224 Информационное моделирование. Величины, объекты, алгоритмы80 руб.Информационное моделирование. Величины, объекты, алгоритмы Товар отсутствует. -
Алгоритмика От алгоритма к программе Князева М.Д. 1881618
учеб.пособие, CD внутр
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 1881618 Алгоритмика От алгоритма к программе93 руб.Алгоритмика От алгоритма к программе Товар отсутствует. -
Дружелюбные алгоритмы понятные каждому Паронджанов В. 10087883
как улучшить работу ума без лишних хлопот
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10087883 Дружелюбные алгоритмы понятные каждому389 руб.Дружелюбные алгоритмы понятные каждому Товар отсутствует. -
Алгоритмы и структуры данных Учеб. пос. Гагарина Л.Г., Колдаев В.Д. 10040833
учебное пособие
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10040833 Алгоритмы и структуры данных Учеб. пос.302 руб.Алгоритмы и структуры данных Учеб. пос. Товар отсутствует. -
Неокибернетика. Алгоритмы, математика эволюции и технологии будущего С. М. Крылов 10113303
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10113303 Неокибернетика. Алгоритмы, математика эволюции и технологии будущего388 руб.Неокибернетика. Алгоритмы, математика эволюции и технологии будущего Товар отсутствует. -
Структуры данных и алгоритмы в Java Лафоре Р. 10705609
2-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10705609 Структуры данных и алгоритмы в Java3 671 руб.Структуры данных и алгоритмы в Java Товар отсутствует. -
Алгоритмизация и программирование Канцедал С.А. 10136973
учебное пособие
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10136973 Алгоритмизация и программирование784 руб.Алгоритмизация и программирование Товар отсутствует. -
Алгоритмы на C++ Седжвик Р. 10164099
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10164099 Алгоритмы на C++2 404 руб.Алгоритмы на C++ Товар отсутствует. -
Искусство программирования Дональд Кнут 10370171
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10370171 Искусство программирования2 975 руб.Искусство программирования Товар отсутствует. -
Алгоритмы на Java Роберт Седжвик, Кевин Уэйн 10338940
4-е издание. Algorithms, 4th Edition Robert Sedgewick, Kevin Wayne
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10338940 Алгоритмы на Java4 255 руб.Алгоритмы на Java Товар отсутствует. -
Математическая логика и теория алгоритмов. Вычислимые функции А. Шень, Н. К. Верещагин 10113549
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10113549 Математическая логика и теория алгоритмов. Вычислимые функции132 руб.Математическая логика и теория алгоритмов. Вычислимые функции Товар отсутствует. -
Введение в распределенные алгоритмы Ж. Тель 10113293
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10113293 Введение в распределенные алгоритмы491 руб.Введение в распределенные алгоритмы Товар отсутствует. -
Жемчужины проектирования алгоритмов: функциональный подход. С примерами на языке Haskell Ричард Бёрд 10375375
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10375375 Жемчужины проектирования алгоритмов: функциональный подход. С примерами на языке Haskell549 руб.Жемчужины проектирования алгоритмов: функциональный подход. С примерами на языке Haskell Товар отсутствует. -
Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации Паронджанов В. 10748679
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10748679 Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации841 руб.Учись писать, читать и понимать алгоритмы. Алгоритмы для правильного мышления. Основы алгоритмизации Товар отсутствует. -
Алгоритмы и структуры данных. Новая версия для Оберона 10751382
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10751382 Алгоритмы и структуры данных. Новая версия для Оберона388 руб.Алгоритмы и структуры данных. Новая версия для Оберона Товар отсутствует. -
Алгоритмы шифрования Специальный справочник Панасенко С.П. 10018886
специальный справочник
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10018886 Алгоритмы шифрования Специальный справочник380 руб.Алгоритмы шифрования Специальный справочник Товар отсутствует. -
Теоретическая информатика. Введение в теорию автоматов, теорию вычислимости...,(3-е изд.) Громкович Ю. 10069688
3-е изд., 3-е изд., ВУЗ
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10069688 Теоретическая информатика. Введение в теорию автоматов, теорию вычислимости...,(3-е изд.)247 руб.Теоретическая информатика. Введение в теорию автоматов, теорию вычислимости...,(3-е изд.) Товар отсутствует. -
Алгоритмы. Руководство по разработке Скиена С. 10250923
2-е изд., 2-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10250923 Алгоритмы. Руководство по разработке1 163 руб.Алгоритмы. Руководство по разработке Товар отсутствует. -
MS Robotics Developer Studio Программир. алгоритмов упр. роботами Ушаков Д. М. 10306632
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10306632 MS Robotics Developer Studio Программир. алгоритмов упр. роботами365 руб.MS Robotics Developer Studio Программир. алгоритмов упр. роботами Товар отсутствует. -
Алгоритмы и модели ограничения доступа к записям БД Пылькин А.Н., Баранчиков А.И., Баранчиков П.А. 10284491
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10284491 Алгоритмы и модели ограничения доступа к записям БД396 руб.Алгоритмы и модели ограничения доступа к записям БД Товар отсутствует. -
Программирование в алгоритмах Окулов С.М. 10679932
4-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10679932 Программирование в алгоритмах258 руб.Программирование в алгоритмах Товар отсутствует. -
Искусство программирования. т.3 Дональд Кнут 10066985
Сортировка и поиск
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10066985 Искусство программирования. т.32 243 руб.Искусство программирования. т.3 Товар отсутствует. -
Конкретная математика. Математические основы информатики Дональд Кнут, Паташник О., Грэхем Р.Л. 10083733
математические основы информатики, 2-е изд.
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10083733 Конкретная математика. Математические основы информатики2 621 руб.Конкретная математика. Математические основы информатики Товар отсутствует. -
Введение в теорию автоматов, языков и вычислений Ульман Дж., Хопкрофт Дж., Мотвани Р. 10925269
Introduction to Automata Theory, Languages, and Computation, 2/E John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10925269 Введение в теорию автоматов, языков и вычислений3 405 руб.Введение в теорию автоматов, языков и вычислений Товар отсутствует. -
Искусство алгоритмизации Потопахин В.В. 10902480
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10902480 Искусство алгоритмизации432 руб.Искусство алгоритмизации Товар отсутствует. -
Алгоритмы компьютерной арифметики Окулов С.М., Лялин А.В., Пестов О.А. 10928063
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 10928063 Алгоритмы компьютерной арифметики444 руб.Алгоритмы компьютерной арифметики Товар отсутствует. -
Алгоритмы. Теория и практическое применение Стивенс Р. 11290332
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11290332 Алгоритмы. Теория и практическое применение1 026 руб.Алгоритмы. Теория и практическое применение Товар отсутствует. -
Почему врачи убивают и калечат пациентов, или зачем врачу блок-схемы алгоритмов? Паронджанов В. 11498296
алгоритмы для эффективного клинического мышления
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11498296 Почему врачи убивают и калечат пациентов, или зачем врачу блок-схемы алгоритмов?847 руб.Почему врачи убивают и калечат пациентов, или зачем врачу блок-схемы алгоритмов? Товар отсутствует. -
Алгоритмы для начинающих. Теория и практика для разработчика Луридас П. 11836962
теория и практика для разработчика
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11836962 Алгоритмы для начинающих. Теория и практика для разработчика1 388 руб.Алгоритмы для начинающих. Теория и практика для разработчика Товар отсутствует. -
Алгоритмы для "чайников" Мюллер Дж., Массарон Л. 11863638
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11863638 Алгоритмы для "чайников"1 765 руб.Алгоритмы для "чайников" Товар отсутствует. -
Алгоритмы искусственного интеллекта на языке PROLOG Братко И. 11897962
3-е издание
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11897962 Алгоритмы искусственного интеллекта на языке PROLOG2 610 руб.Алгоритмы искусственного интеллекта на языке PROLOG Товар отсутствует.
В этой категории:
-
Применение пакета MATLAB и SIMULINK для анализа электрических цепей. Том 2 Фриск В.В., Ганин В.И., Степанова А.Г. 12003583
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12003583 Применение пакета MATLAB и SIMULINK для анализа электрических цепей. Том 21 005 руб.Применение пакета MATLAB и SIMULINK для анализа электрических цепей. Том 2 В КОРЗИНУ -
Применение пакета MATLAB и SIMULINK для анализа электрических цепей. Том 1 (практикум) Фриск В.В. 12001227
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 12001227 Применение пакета MATLAB и SIMULINK для анализа электрических цепей. Том 1 (практикум)1 292 руб.Применение пакета MATLAB и SIMULINK для анализа электрических цепей. Том 1 (практикум) В КОРЗИНУ -
Краткий справочник для студентов по анализу электрических цепей с применением среды MATLAB Фриск В. В. 11995848
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11995848 Краткий справочник для студентов по анализу электрических цепей с применением среды MATLAB215 руб.Краткий справочник для студентов по анализу электрических цепей с применением среды MATLAB В КОРЗИНУ -
Компьютерный анализ четырехполюсников с помощью MATLAB Фриск В.В. 11964231
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964231 Компьютерный анализ четырехполюсников с помощью MATLAB550 руб.Компьютерный анализ четырехполюсников с помощью MATLAB В КОРЗИНУ -
Компьютерный анализ четырехполюсников с помощью MATLAB Фриск В. В. 11964230
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964230 Компьютерный анализ четырехполюсников с помощью MATLAB229 руб.Компьютерный анализ четырехполюсников с помощью MATLAB В КОРЗИНУ -
Компьютерный спектральный анализ сигналов с помощью MATLAB Фриск В.В. 11964229
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964229 Компьютерный спектральный анализ сигналов с помощью MATLAB525 руб.Компьютерный спектральный анализ сигналов с помощью MATLAB В КОРЗИНУ -
Компьютерный спектральный анализ сигналов с помощью MATLAB Фриск В. В. 11964228
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964228 Компьютерный спектральный анализ сигналов с помощью MATLAB215 руб.Компьютерный спектральный анализ сигналов с помощью MATLAB В КОРЗИНУ -
Компьютерный анализ и моделирование электрических цепей постоянного тока в среде MATLAB Фриск В. В. 11964226
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964226 Компьютерный анализ и моделирование электрических цепей постоянного тока в среде MATLAB382 руб.Компьютерный анализ и моделирование электрических цепей постоянного тока в среде MATLAB В КОРЗИНУ -
Компьютерный анализ и моделирование электрических цепей постоянного тока в среде MATLAB Фриск В. В. 11964225
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964225 Компьютерный анализ и моделирование электрических цепей постоянного тока в среде MATLAB167 руб.Компьютерный анализ и моделирование электрических цепей постоянного тока в среде MATLAB В КОРЗИНУ -
Компьютерный анализ и моделирование электрических цепей переменного тока в среде MATLAB Фриск В. В. 11964224
Товар отсутствует. Кликните здесь и получите уведомление о появлении товара в продаже 11964224 Компьютерный анализ и моделирование электрических цепей переменного тока в среде MATLAB382 руб.Компьютерный анализ и моделирование электрических цепей переменного тока в среде MATLAB В КОРЗИНУ