Скрыть объявление
Клуб приватной информации

- Более 7 000 обучающих материалов
- Ежедневные обновления
- Регистрируйся прямо сейчас и стань членом сообщества!
Быстрая Регистрация

Скачать бесплатно [Специалист] Алгоритмы. Олимпиадное программирование

Тема в разделе "Программирование", создана пользователем Rlaster, 8 дек 2015.

  1. Rlaster

    Rlaster

    Репутация:
    7
    Регистрация:
    17 сен 2015
    Сообщения:
    202
    Пол:
    Мужской
    Вы узнаете, что такое олимпиадное программирование, и в чем заключаются особенности автоматической проверки алгоритмов. Вы познакомитесь с тестирующей системой Ejudge, в которой проходят все крупнейшие соревнования по спортивному программированию. Вы сможете на лету решать такие задачи, как разложение числа на цифры, на простые множители, делимость, арифметика остатков. Вы освоите классические алгоритмы и хитрые трюки для решения задач на обработку последовательностей, изучите различные методы сортировки, в том числе использующие тонкие


    По окончании курса Вы будете уметь:

    • Легко решать задачи обработки матриц: линейный поиск, переворот, максимумы и минимумы.
    • Приступите к основам высшего пилотажа в программировании – алгоритмам обработки графов, стеков и очередей.
    • Полученных знаний и навыков Вам хватит, чтобы начать выступать на олимпиадах по программированию.
    .SpoilerTarget">Спойлер Модуль 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
    • Применения алгоритма поиска в ширину
    • Поиск кратчайших путей из данной
    • Немного теории
    • Поиск компонент связности
    Скачать: