Алгоритмы на практике
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

 Алгоритмы на практике

«Алгоритмы на практике» научат решать самые трудные и интересные программистские задачи, а также разрабатывать собственные алгоритмы. В качестве примеров для обучения взяты реальные задания с международных соревнований по программированию. Вы узнаете, как классифицировать задачи, правильно подбирать структуру данных и выбирать алгоритм для решения. Поймете, что выбор структуры данных — будь то хеш-таблица, куча или дерево —влияет на скорость выполнения программы и на эффективность алгоритма. Разберетесь, как применять рекурсию, динамическое программирование, двоичный поиск.

Никакого условного псевдокода, все примеры сопровождаются исходным кодом на языке Си подробными объяснениями.
Оқыдыңыз ба? Не айтасыз?
Mr. Paul Savchuk
Mr. Paul Savchukпікірімен бөлісті6 ай бұрын
👍Ұсынамын
Комментарий жазу
Олег М.
Олег М.пікірімен бөлісті1 жыл бұрын
👍Ұсынамын
Комментарий жазу
Михаил А
Михаил Апікірімен бөлісті1 жыл бұрын
👍Ұсынамын
Комментарий жазу
Артем
Артемдәйексөз келтірді1 жыл бұрын
темы в памяти.

Лучшая, на мой взгляд, книга по работе с Cи — это второе издание C Programming: A Modern Approach К.Н. Кинга (K. N. King). Даже если вы хорошо знакомы с Cи, все равно рекомендую ее прочесть. Она оказывается отличным помощником, когда особенности этого языка вызывают сложности в понимании кода.
5 Ұнайды
Комментарий жазу
Егор К.
Егор К.дәйексөз келтірді1 жыл бұрын
Почему я применил именно умножение на 39 и добавление символа? Дело в том, что такой вариант не вызывал коллизий в тестовых примерах Codeforces. Да, я понимаю, что это неудовлетворительное решение.
3 Ұнайды
Комментарий жазу
Сергей Яр
Сергей Ярдәйексөз келтірді1 жыл бұрын
Введение
Я предполагаю, что вы знакомы с такими языками, как Cи, C++, Java или Python… и разбираетесь в теме. Тяжело объяснять людям, незнакомым с программированием, почему написание кода для решения задач является настолько захватывающим.

Я также надеюсь, что вы готовы поднять свои навыки программирования на новый уровень. Для меня будет честью помочь вам в этом.

Я мог бы начать с разъяснения всяких изощренных техник, рассказывая о том, какие они полезные, и сравнивая их с другими изощренными техниками. Но я не буду этого делать. Такие знания очень недолго хранятся в памяти, ожидая возможности применения на практике (которая порой так и не появляется).

Вместо этого я на протяжении всей книги буду ставить конкретные трудные задачи. Надеюсь, что вы не сможете справиться с ними сразу, используя знакомые вам подходы. Вы — программист. Вам нужно решать задачи. Пришло время освоить хитрые техники. Книга построена на постановке сложных задач с их последующим решением, при этом вы будете пополнять имеющиеся у вас знания.

Здесь вы не увидите типичных задачек из учебников, не будете искать оптимальный путь умножения последовательности матриц или вычисления чисел Фибоначчи. Я обещаю, что вы не будете решать и головоломку ханойской башни. Существует множество прекрасных учебников, где все это прописано, но я подозреваю, что немногих из вас такие головоломки действительно мотивируют.

Мой подход предполагает использование задач, которые вы ранее вряд ли встречали. Каждый год тысячи людей участвуют в соревнованиях по программированию, и для этих соревнований постоянно требуются новые задачи, чтобы оценивать реальные навыки участников, а не способность быстрее всех переделывать старое на новый лад или гуглить решение. Эти задачи удивительны, они базируются на классических подходах, но вносят в них изменения и интересный контекст, подталкивая людей к поиску новых решений. В таких задачах заключается практически безграничный объем знаний по программированию и вычислениям.

Начнем с основ. Структура данных — это способ организации данных для быстрого выполнения нужных операций. Алгоритм — это последовательность шагов при решении задачи. Иногда можно создать быстрый алгоритм без применения сложных структур данных. В других же случаях правильно подобранная структура может существенно ускорить решение. Моя задача — не сделать из вас участника соревнований по программированию, хотя это было бы хорошим бонусом, а научить работать со структурами данных и алгоритмами на примерах интересно поданных задач спортивного программирования. Пишите мне об успехах в своем обучении. Пишите также, если материалы этой книги заставят вас улыбнуться.
2 Ұнайды
Комментарий жазу
Питер
Издательский дом «Питер»
Издательский дом «Питер»
1 829 кітап
809
Айтишная полка
undlake
undlake
277 кітап
760
Python/Excel (and other it book)
Эдуард С.
Эдуард С.
148 кітап
39
Программирование
Алексей Ермаков
Алексей Ермаков
100 кітап
39
Около-IT
Дарья
Дарья
95 кітап
31