Уникальное руководство к действию, опыт и практика, сконцентрированные на двух сотнях страниц.
Книга для тех, кто умеет программировать и уже готов этим зарабатывать.
Курс молодого, но профессионального программиста. Практические советы.
Что пригодится вам из пройденного и сданного. Что вы будете программировать сначала, а что позже, когда наберётесь опыта. К чему ещё можно применить ваш программистский талант, чтобы руководство одобрило и поощрило. Кратко, доступно, убедительно.
Зачем нам сортировка Шелла?
Для прохождения собеседования сортировка Шелла не нужна. И для работы она не нужна. Для собеседования она не нужна потому, что если вас попросят запрограммировать сортировку вообще, вы уже способны запрограммировать пузырьковую сортировку, а если закажут сортировку какую-то конкретную, то всё равно угадать невозможно, какую именно попросят.
Тем не менее, прежде чем думать о великой и ужасной сортировке Шелла, стоит, как рекомендуют в популярном фильме, потренироваться на кошках. В роли кошки выступает сортировка расчёской. Это как пузырьковая сортировка, только лучше. Впрочем, по мнению некоторых экспертов этого дела, это та же пузырьковая сортировка, только хуже. Потому что, если у нас есть простая и тупая вешь, которая работает, улучшать ей не надо. Это вроде как молоток — зачем его улучшать? Я знаю, я этих молотков столько на уроках труда в школе вырубил из цельного куска металла, что и не сосчитаешь.
Но, в качестве упражнения, это неплохо. Почему эта сортировка носит такое нелепое название? А потому, что по-английски она называется comb sort. А почему она так называется по-английски? Я прочитал все объяснения, но так и не понял. А если я этого не понял, наверное это плохое, неправильное название.
В чём отличие сортировки расчёской (comb sort) от пузырьковой сортировки (bubble sort)? В пузырьковой сортировке сравниваются два соседних элемента массива. Основная претензия к этому подходу в том, что если в конце массива содержатся маленькие элементы, которым положено быть в начале, то в начало массива они перемещаются очень медленно, а почему, кстати, подумайте? И это при том, что те крупные элементы, которые вопреки надобности находятся в начале массива, погружаются достаточно быстро, а почему кстати? Формальный ответ — потому, что использованный нами алгоритм несимметричен. А как сделать его симметричным? И стоит ли? К этим вопросам я обещаю вернуться в главе о скорости работы программы и о том, стоит ли вообще обращать на это внимание. Там мы её и обсудим, сортировку расчёской.
ОГЛАВЛЕНИЕ.
Вступление.
Почему Полезное Программирование? И кому полезное?.
А на каком языке писать? А какая разница?.
Что должен знать читатель.
Уточнения и ограничения.
Предупреждения.
Что ещё можно почитать, кроме меня?.
Самореклама.
Это сладкое слово — халява.
Глава 1. Всё-таки учебная. Но в хорошем смысле.
Вступление в предисловие.
С высоты птичьего полёта.
Теперь о главном.
Продолжение вступления в предисловие.
Практическая часть. Просто сортировка.
Зачем нам сортировка Шелла?.
И факториал!.
Глава 2. Не совсем учебная. Графики.
Немного о графиках.
Немного о графиках. Продолжение.
Немного о графиках. Финиш.
Совсем всё. Финиш.
Есть ли жизнь после финиша?.
Глава 3. С чего начинается работа.
О чём речь?.
Что-то длинное.
Очень просто - массив. Свёртка.
Массив. Меняются значения. И меняется длина.
Похожие задачи, но для файлов.
Похожие задачи для списков.
Объекты, вид сбоку.
Задача напоследок.
Глава 4. Как продолжается работа. Что-то ветвистое.
Преамбула.
Что-то посложнее. Короткий раздел.
А теперь о главном. Важное.
Что делать?.
Глава 5. Системы контроля версий.
О чем эта глава.
Скучное. Предмет и терминология.
Лирическое отступление, или а зачем это вообще надо?.
Какие они вообще бывают?.
А теперь о главном.
А теперь всё вместе и разом!.
Вася один на ландшафте.
Вспомогательное счастье.
Подтянулась и компания.
Как всё сделать хорошо.
Про Одну Кнопку.
То, что называется «Бинарные файлы».
Как НЕ НАДО работать с VSS.
Глава 6. О скучном — динамические библиотеки.
Что это такое, а также историческая справка, которую можно не читать.
А как с этим теперь?.
Сначала мы её создадим!.
Статическая загрузка и как это может пригодиться.
Динамическая загрузка и расширение возможностей.
Польза от динамического вызова.
Библиотеки - технические подробности.
Реализация проекта.
Глава 7. Мелкие технические подробности.
Легко ли быть жадным?.
А что делать?.
Теперь конкретно об эффективности.
Оптимизируем на самом нижнем уровне.
Улучшаем алгоритм.
Меняем алгоритм.
Глава 8. Техника программирования, или Это вы обязательно должны знать.
Абстрактные рассуждения или а оно нам надо?.
Кратко о предмете обсуждения.
Рядом лежащие вопросы.
Подумаем конкретно, на примерах. Первый пример.
Пятый способ, бессмысленный и бесполезный.
То же самое, вид сбоку. Второй пример.
Всё не так и всё разное. Третий пример.
Глава 9. Что должен знать программист? Как он должен себя вести?.
Нет, не всё.
О чём я вообще?.
Математика.
Информатика (Computer Science).
Глава 10. Для дома, для семьи.
Зачем это надо?.
Несложный бредогенератор. Постановка задачи.
Бредогенератор. Сначала немного о ЛИСПе.
Бредогенератор. Реализация.
Бредогенератор. Доработка напильником и планы на будущее.
Искатель тайного смысла. Обсуждение.
Искатель тайного смысла. Постановка задачи.
Искатель тайного смысла. Подготовка.
Искатель тайного смысла. Реализация в первом приближении.
Искатель тайного смысла. Развитие темы.
Расстояние между словами. Введение в тему.
Расстояние между словами. Реализация.
Приложения. Справочник обо всём.
Приложение А. Всё о данных.
Приложение В. Всё об организации программы на нескольких страницах.
Приложение С. Всё о процедурах и функциях.
Приложение D. Всё продвинутое программирование на нескольких страницах.
Приложение Е. Всё о списках. Или почти всё.
Приложение F. Всё Объектно ориентированное программирование.
Приложение G. Простенький модуль для работы со строками. Простой, но очень полезный.
Задания для самостоятельного развития.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Полезное программирование, Комлев Н.Ю., 2016 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Комлев
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- React быстро, Веб-приложения на React, JSX, Redux и GraphQL, Мардан А., 2019
- Python, Экспресс-курс, Седер Н., 2019
- Python, К вершинам мастерства, Лучано Р., 2016
- Python и машинное обучение, Рашка С., 2017
Предыдущие статьи:
- Linux в действии, Клинтон Д., 2019
- Linux API, Исчерпывающее руководство, Керриск М., 2019
- JavaScript и jQuery, Интерактивная веб-разработка, Дакетт Д., 2017
- Getting Started with Python, Fabrizio R., Benjamin B., Dusty P., 2019