Представлены основные структуры и методы обработки данных, критерии оценки алгоритмов и структур данных. Приведены примеры этих структур, способы оценки и повышения эффективности программ, способы тестирования программ. Для студентов МГТУ им. Н. Э. Баумана, обучающихся по направлению подготовки «Информатика и вычислительная техника».
В пособии описаны основы работы в пакете MATLAB – интегрированной среде разработки и технических расчетов, предназначенной для решения широкого спектра инженерных задач. Изложены основные моменты разработки алгоритмов и написания программ на языке программирования высокого уровня MATLAB. Рассмотрена работа с командами ветвления и применение циклических конструкций, а также графическое представлени…
Неважно, чем вы занимаетесь – большими данными, машинным обучением, компьютерной графикой или криптографией, – без математики вам не обойтись! Везде сейчас требуются базовые знания и понимание алгоритмов. Практические примеры позволят легко разобраться с самыми необходимыми математическими понятиями. 300 упражнений и мини-проектов откроют вам новые возможности в освоении интересных и популярных IT…
Эта книга написана для всех, кто хочет ознакомиться с методикой Scrum. Новички найдут здесь подробные примеры, а те, кто уже знаком с этой методикой, могут воспользоваться полезными рекомендациями. Книга будет интересна всем членам команды. Если вы только собираетесь внедрять эту методику, то в книге вы найдете полезные советы, которые сэкономят ваше время и сделают работу более эффективной. В фо…
В этом томе рассматриваются методы, позволяющие компьютерам эффективно работать с задачами гигантского размера. Рассматриваемый материал начинается с булевых функций и технологий и трюков работы с битами, затем всесторонне рассматривается генерация всех кортежей и перестановок, всех сочетаний и разбиений, и всех деревьев.
Книга известного специалиста и лектора в области компьютерных технологий посвящена последнему стандарту (С99) одного из наиболее распространенных языков программирования – С, который послужил основой для создания операционной системы Unix. Книгу отличает простой и доступный стиль изложения, изобилие примеров и множество рекомендаций по написанию высококачественных программ. Подробно рассматриваютс…
«Python для хакеров. Нетривиальные проекты и задачи» делает упор на реальные проекты, так что от экспериментирования с синтаксисом вы сразу перейдете к написанию полноценных программ. Развивая свои навыки разработки на Python, вы будете проводить научные опыты, изучать статистику и решать задачи, которые не давали покоя гениям на протяжении многих лет, и даже займетесь обнаружением далеких экзопла…
Алгоритмы – это не только задачи поиска, сортировки или оптимизации, они помогут вам поймать бейсбольный мяч, проникнуть в «механику» машинного обучения и искусственного интеллекта и выйти за границы возможного. Вы узнаете нюансы реализации многих самых популярных алгоритмов современности, познакомитесь с их реализацией на Python 3, а также научитесь измерять и оптимизировать их производительность…
В данном учебном пособии рассмотрены элементы теории трассировки лучей и, соответственно, глобального освещения в компьютерной графике. Пособие может быть рекомендовано как для самостоятельного изучения курса «Компьютерная графика», так и для подготовки к практическим и расчетно-графическим заданиям.
Рассмотрены основополагающие алгоритмы, используемые в компьютерной графике: построение отрезков, окружностей и эллипсов, фильтрации, построчного заполнения и заливки с затравочной точкой многоугольников, отсечения отрезков и многоугольников. Пособие состоит из теоретического описания алгоритмов и является руководством для студентов, а также и написания программ более высокого уровня. Пособие адре…
Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с «Красивого C++»! Опытные программисты Гай Дэвидсон и Кей…
Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике. Вы начнете с введения в алгоритмы, от поиска и сортировки перейдете к линейному программированию, ранжированию страниц…
«Алгоритмы на практике» научат решать самые трудные и интересные программистские задачи, а также разрабатывать собственные алгоритмы. В качестве примеров для обучения взяты реальные задания с международных соревнований по программированию. Вы узнаете, как классифицировать задачи, правильно подбирать структуру данных и выбирать алгоритм для решения. Поймете, что выбор структуры данных – будь то хеш…
Приведены краткие теоретические сведения по организации программ циклической структуры на примере алгоритмов вычисления сумм, произведений, суммы бесконечного ряда, определенного интеграла, уточнения корней уравнений. Рассмотрена организация вложенных циклов, показано решение таких задач, как вычисление определенного интеграла с заданной точностью, поиск наибольшего (наименьшего) значения функции …
Рассмотрены современные стохастические популяционные алгоритмы решения однокритериальной задачи глобальной оптимизации. Изложены методы повышения эффективности этих алгоритмов путем их гибридизации и метаоптимизации. Наряду с однокритериальной рассмотрена задача многокритериальной оптимизации и популяционные алгоритмы ее решения. Представлены методы распараллеливания указанных алгоритмов. Содержит…