- 21, Apr 2023
- #1
[Специалист] Алгоритмы. Олимпиадное программирование
Вы узнаете, что такое олимпиадное программирование, и в чем заключаются особенности автоматической проверки алгоритмов.
Вы познакомитесь с тестирующей системой Ejudge, в которой проходят все крупнейшие соревнования по спортивному программированию.
Вы сможете на лету решать такие задачи, как разложение числа на цифры, на простые множители, делимость, арифметика остатков.
Вы освоите классические алгоритмы и хитрые трюки для решения задач на обработку последовательностей, изучите различные методы сортировки, в том числе использующие тонкие
Преподователь: Скрытая информация :: Авторизуйтесь для просмотра »
По окончании курса Вы будете уметь:
- Легко решать задачи обработки матриц: линейный поиск, переворот, максимумы и минимумы.
- Приступите к основам высшего пилотажа в программировании – алгоритмам обработки графов, стеков и очередей.
- Полученных знаний и навыков Вам хватит, чтобы начать выступать на олимпиадах по программированию.
Модуль 1. Занятие №1. Знакомство
- Алгоритмы
- Тестирующая система
Модуль 2. Занятие №2. Типы данных и отладка
- Типы данных в Java
- Примитивные типы
- Объекты
- Классы-обертки
- BigInteger и BigDecimal
- Отладка
Модуль 3. Занятие №3. Решение задач из области арифметики
- Проверка на четность
- Немного теории
- Цифры числа
- Получение цифр числа
- Проверка на простоту
- Сумма делителей
- Количество делителей
- Разложение на простые множители
Модуль 4. Занятие №4. НОД(GCD) и НОК(LCM)
- Немного теории
- Немного о задачах
Модуль 5. Занятие №5. Однопроходные алгоритмы
- Чтение
- Сумма элементов
- Максимум из всех
- Максимум из четных
- Второй максимум
- Немного о задачах
- Чтение больших объемов данных
- Пример использования класса
- StreamTokenizer для быстрого чтения последовательности чисел
Модуль 6. Занятие №6. Массивы
- Создание массива
- Ввод (считывание) массива из N элементов
- Вывод всех элементов массива
- Поиск максимума
- Поиск индекса максимального
- Поиск индекса заданного числа в массиве
- Вывод массива в обратном порядке
- Косвенная адресация
Модуль 7. Занятие №7. Сортировка массива
- Сортировка выбором (метод минимума)
- Немного теории
- Метод сортировки обменами (метод пузырька)
Модуль 8. Занятие №8. Символы и строки в Java
- Символы
- Класс String
- Создание строки
- Чтение строки
- Длина строки
- Сравнение строк
- Добавление к строке
- Преобразование различных типов в строку и обратно
- Извлечение символа и подстроки
- Поиск в строке
- Функции замены
- Разворот строки
Модуль 9. Занятие №9. Двумерные массивы
- Создание и «стандартное» чтение
- Вывод массива в виде таблицы
- Cумма всех элементов
- Сумма элементов главной диагонали
- Неровные массивы
Модуль 10. Занятие №10. Графы I. Определения, хранение
- Немного теории
- Основные понятия
- Деревья
- Способы хранения графов
- Способ №0. Иногда граф можно вообще не хранить специальным образом
- Способ №1. Матрица смежности
- Способ №2. Список ребер
- Способ №3. Списки смежности
Модуль 11. Занятие №11. Стек и очередь
- Стек (Stack)
- Очередь (Queue)
Модуль 12. Занятие №12. Графы II. Поиск в ширину
- BFS (Breadth-first search)
- BFS в графе, заданном матрицей смежности G
- Применения алгоритма поиска в ширину
- Поиск кратчайших путей из данной
- Немного теории
- Поиск компонент связности
Складчик:
Скрытая информация :: Авторизуйтесь для просмотра »
Скачать: