- •Лабораторные работы. Сборник задач.
- •Оглавление
- •Часть 1. Лаборатоные работы
- •Работа со структурами и объединениями …………………………………….91
- •3 Задача
- •4 Задача
- •5 Задача
- •6 Задача
- •Дополнительное условие:использование цикла с предусловием.
- •1 Задача
- •2 Задача
- •Дополнительное условие: программа написана без использования функции.
- •Дополнительное условие: программа написана с использованием функций.
- •3 Задача
- •Дополнительное условие: программа написана без использования функции.
- •Дополнительное условие: программа написана с использованием функции.
- •4 Задача
- •Дополнительное условие: программа написана без использования функции
- •Дополнительное условие: программа написана с использованием функции.
- •Самостоятельная работа
- •Лабораторная работа №3
- •Самостоятельная работа
- •1 Задача
- •2 Задача
- •1 Задача
- •2 Задача
- •3 Задача
- •Лабораторная работа №6
- •1 Задача
- •1 Задача
- •2 Задача
- •3 Задача
- •1 Задача
- •1 Задача
- •2 Задача
- •3 Задача
- •4 Задача
- •Синтаксический анализатор
- •Самостоятельная работа
- •1 Задача
- •2 Задача
- •3 Задача
- •Работа с каталогами
- •Самостоятельная работа
- •1 Задача
- •2 Задача
- •1 Задача
- •2 Задача
- •3 Задача
- •1 Задача
- •2 Задача
- •1 Задача Реализовать очередь, состоящую из целых чисел
- •Комментарий:
- •2 Задача
- •1 Задача
- •Идеально-сбалансированные деревья
- •1 Задача
- •2 Задача
- •1 Задача
- •2 Задача
- •3 Задача
- •1 Задача
- •2 Задача
- •3 Задача
- •1 Задача
- •1 Задача
- •1 Уровень сложности
- •2 Уровень сложности
- •3 Уровень сложности
- •1 Уровень сложности.
- •2 Уровень сложности
- •3 Уровень сложности
- •1 Уровень сложности
- •Работа с несколькими массивами
- •Преобразование массива
- •Изменение элементов массива
- •2 Уровень сложности Формирование массива и вывод его элементов
- •Анализ элементов массива
- •Преобразование массива
- •Изменение элементов массива
- •Удаление и вставка элементов
- •Серии целых чисел
- •3 Уровень сложности Множества точек на плоскости
- •1 Уровень сложности
- •2 Уровень сложности
- •3 Уровень сложности
- •1 Уровень сложности
- •2 Уровень сложности
- •3 Уровень сложности
- •1 Уровень сложности
- •2 Уровень сложности
- •3 Уровень сложности
- •Not простое_логическое
- •(Простое_логическое знак_операции простое_логическое)
- •Построить синтаксический анализатор для понятия предложение.
- •1 Уровень сложности
- •2 Уровень сложности
- •1 Уровень сложности
- •Примеры:
- •Двусвязные списки
- •1 Уровень сложности
- •2 Уровень сложности
- •3 Уровень сложности
1 Уровень сложности
Построить в динамической памяти двоичное дерево и выполнить следующие действия:
найти в непустом дереве длину пути (число ветвей) от корня до ближайшей вершины с заданным элементом; если заданный элемент не входит в дерево, то за ответ принять -1;
найти величину наибольшего элемента непустого дерева;
найти кратчайший путь в дереве от корня до вершины с заданным информационным полем;
найти длиннейший путь в дереве от корня до вершины с заданным информационным полем;
найти путь заданной длины от корня до вершины с заданным информационным полем;
найти кратчайший путь в дереве от вершины с заданным информационным полем до вершины с другим заданным информационным полем;
найти длиннейший путь в дереве от вершины с заданным информационным полем до вершины с другим заданным информационным полем;
найти длины всех корневых ветвей – от корня дерева до каждого листа;
найти длину ветви (т.е. от i-й кj-й ветви);
найти, на какой глубине в дереве находится каждый лист;
посчитать число вершин дерева;
посчитать число листьев дерева;
посчитать число вершин на i-ом уровне непустого дерева (корень считать вершиной 0 уровня);
посчитать число листьев в поддереве, корнем которого является заданная вершина исходного дерева;
поменять местами максимальный и минимальный элементы непустого дерева, все элементы которого различны;
вычислить среднее арифметическое (произведение) всех элементов непустого дерева;
заменить в дереве все отрицательные элементы на их абсолютные величины;
определить, есть ли в дереве хотя бы два одинаковых элемента;
определить число вхождений элемента в дерево.
Построить в динамической памяти двоичные деревья T1 иT2. Проверить на равенство эти деревья.
Построить деревья (n- целое положительное число):
a)b)
Построить в динамической памяти двоичное дерево Т, а затем расформировать его.
Задано некоторое простое выражение:
вывести прямую польскую запись выражения, вычислив его;
вывести обратную польскую запись выражения, вычислив его.
Построить в динамической памяти двоичное дерево Т, затем преобразовать дерево так, чтобы для каждой вершины левое и правое поддерево поменялись местами.
2 Уровень сложности
В некоторой древовидной структуре опытным путем измеряется частота обращения к
каждому из элементов. По прошествии некоторого времени дерево изменяется:
построить дерево, сделав заданную вершину корнем;
построить дерево, автоматически его сбалансировав.
В некоторой файловой системе справочник файлов организован в виде упорядоченного двоичного дерева. Каждой вершине соответствует некоторый файл: здесь содержится имя файла, его размер, расширение, дата последнего обращения к нему, закодированная целым числом.
удалить все файлы, последнее обращение к которым происходило до некоторой определенной даты;
удалить все файлы с заданным расширением;
удалить все файлы с заданным именем;
удалить все файлы, размер которых превосходит некоторое заданное значение.
Построить в динамической памяти двоичное дерево и выполнить следующие действия:
удалить из дерева элементы с заданным информационным полем;
удалить крайний левый элемент k-го уровня, если он есть;
удалить крайний правый элемент k-го уровня, если он есть.
вставить дерево, сделав его продолжением i-го уровня;
найти все вершины, которые имеют одну дочернюю, и вставить туда недостающую вершину;
вставить дерево, состоящее из iуровней иjвершин, которое будет продолжением существующего дерева, начиная сk-ой вершины.
Дано АВЛ-дерево.
включить новую вершину с заданным ключом;
исключить вершину с заданным ключом;
найти вершину с заданным ключом.
Дано ДБ-дерево (2-3-дерево)
включить новую вершину с заданным ключом;
исключить из ДБ-дерева (2-3-дерева) вершину с заданным ключом.