Стандартные задачи на циклы
Ссылка на Wiki-страничку с алгоритмами на циклы
- Сумма целых чисел
- Произведение целых чисел
- Двойной факториал n!!=n*(n-2)*(n-4)*...*2 (или 1)
- Количество нечетных среди n введенных
- Защита от неверного ввода
- Табулирование функции f(x) на отрезке в [a,b] (цикл for)
- Табулирование функции f(x) на отрезке в [a,b] (цикл while)
- Вывод 10 первых степеней двойки
- Вывод всех двухзначных чисел, кратных 5
- Вывод n первых чисел Фибоначчи
- НОД(A,B) (алгоритм Евклида)
- Сумма цифр целого положительного числа
- max из введенных чисел
- min из введенных чисел, удовлетворяющий условию
- Вычисление суммы конечного ряда ?(i=1..n) a^i/i!
- Вычисление суммы бесконечного ряда ?(i=1..?) (-1)^i * a^i/i!
- Есть ли среди введенных число k?
- Есть ли среди введенных число k? (то же с использованием while)
- Является ли число N простым?
- Разложение числа на простые множители
- Вычисление значения многочлена в точке x (схема Горнера)
- Корень непрерывной функции на отрезке (метод половинного деления)
Стандартные задачи на одномерные массивы
- Вывод массива
- Заполнение массива случайными числами
- Инвертирование массива
- Поиск элемента по заданному значению
- Поиск с барьером
- Минимальный элемент и его индекс
- Сдвиг влево
- Сдвиг вправо
- Циклический сдвиг вправо
- Удаление k-того элемента
- Вставка на k-тое место
- Слияние двух упорядоченных в один упорядоченный
- Поиск в упорядоченном массиве
- Сортировка выбором
- Пузырьковая сортировка
- Сортировка вставками
- Поиск по условию
- Количество по условию
- Условный минимум
- Удаление по условию
Файлы
- Создание текстового файла целых и подсчет суммы чисел в файле
- Создание текстового файла и преобразование каждой строки - все буквы к верхнему регистру
- Создание типизированного файла целых и вывод данных из него
- Возведение в типизированном файле всех элементов в квадрат
- Сортировка типизированного файла
Списки
Односвязные линейные списки
- Вставка в начало списка
- Удаление из начала списка
- Вставка после текущего узла
- Удаление после текущего узла
- Проход по списку
Двусвязные линейные списки
- Вставка в начало/конец списка
- Удаление из начала/конца списка
- Вставка перед/после узла
- Удаление текущего узла
- Проход по списку
- Слияние двух отсортированных списков
- Объединение двух списков
Рекурсия
- Рекурсивное вычисление факториала
- Рекурсивное вычисление минимума в массиве
- Рекурсивное вычисление чисел Фибоначчи с использованием вспомогательного массива
- Ханойские башни
- Быстрая сортировка
Деревья
Основные операции
- Создание бинарного дерева и его вывод
- Обходы бинарного дерева
- Поиск элемента в бинарном дереве
Поиск минимальной суммы от корня к листу
- Очевидный рекурсивный алгоритм
- Алгоритм перебора с возвратом
- Алгоритм перебора с возвратом + метод ветвей и границ
Бинарные деревья поиска
- Добавление элемента
- Вывод
- Поиск элемента
- Удаление элемента
Абстрактные типы данных. Контейнеры
Стек
- Реализация стека. Алгоритм вычисления выражения в ПОЛИЗ (польскую инверсную запись)
Очередь
- Реализация очереди. Вывод четных в прямом и нечетных в обратном порядке
Динамический массив
- Реализация динамического массива с примером использования
Множество
- Реализация множества с примером использования
Ассоциативный массив
- Реализация ассоциативного массива с примером использования
Контейнеры .NET
- Цикл по LinkedList с помощью LinkedListNode
- Цикл foreach по контейнерам List, LinkedList
- Цикл foreach по Dictionary
Объектно-ориентированное программирование
- Демонстрация наследования
- Демонстрация включения
- Демонстрация перехвата нескольких исключений
- Демонстрация полиморфизма
- Демонстрация реализации интерфейса
- Демонстрация ограничений на переметры шаблона
- Демонстрация использования интерфейса IComparable для сортировки контейнера.
Методы расширения
- Фильтрация с помощью Where