ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 38
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ЗАДАНИЯ ПО ЛАБОРАТОРНЫМ РАБОТАМ
Дисциплина «ПРОГРАММИРОВАНИЕ»
(2-ой семестр)
Задание №1
Требуется разработать программу обеспечивающую:
- построение линейного односвязного списка типа «стек» с заполнением его узлов вводимыми с клавиатуры числами;
- вывод на экран в обратном порядке всех положительных чисел, хранимых в стеке.
Задание №2
Требуется разработать программу обеспечивающую:
-
построение линейного односвязного линейного списка типа «очередь». (информационные части узлов должны иметь целочисленный тип и заполняться путем последовательного ввода значений с клавиатуры; признак окончания ввода – введенный 0);
-
обработку созданного списка с выполнением следующих функций:
а) вставку узлов с информационной частью = 1 во все позиции списка, предшествующие узлам с отрицательной информационной частью
б) удаление всех узлов списка, содержащих в информационной части отрицательные числа;
в) расчет количества вхождений заданного с клавиатуры числа в информационные поля узлов;
г) рекурсивное удаление всех узлов списка
Задание №3
Реализовать задание лабораторной работы №2 для случая односвязного циклического списка.
Задание №4
Необходимо реализовать программу обеспечивающую обработку линейного двусвязного списка. Узлы списка должны хранить информацию о городах. В состав этой информации входят:
- название города;
- название региона;
- количество жителей.
Над списком требуется произвести следующие операции:
а) построение и заполнение узлов списка данными с клавиатуры;
б) вывести на экран названия регионов в порядке убывания суммарной численности городского населения;
в) удалить узлы, хранящие информацию о городах указанного (с клавиатуры) региона;
г) очистить список.
Задание №5
Разработать программу обеспечивающую:
1) формирование хэш-таблицы (размерность – не более числа литер в латинском алфавите), позволяющей хранить информацию о введенных с клавиатуры словах; механизм обработки коллизий в построенной таблице должен обеспечиваться путем формирования вспомогательных списков «конфликтующих» слов,
связываемых с соответствующей ячейкой таблицы;
2) реализацию поиска заданного слова в хэш-таблице.
Задание №6
Реализовать программу построения и обработки бинарного дерева поиска. Дерево заполняется вводимыми с клавиатуры числами (признак окончания входной последовательности – ввод числа 0). После этого должен поддерживаться быстрый поиск задаваемых с клавиатуры чисел в построенном дереве. По окончании операций поиска программа должна очистить память, занимаемую древесной структурой данных.
Задание №7
Расширить функциональность программы из лабораторной работы №6 путем ее дополнения функцией вывода элементов построенного дерева на экран:
а) в префиксном порядке;
б) в инфиксном порядке;
в) в постфиксном порядке.
Дополнить программу вводом соответствующего меню, позволяющего выбирать номера пунктов задания.
Задание №8
Расширить функциональность программы из лабораторной работы №6 путем ее дополнения функцией вывода элементов построенного дерева на экран по уровням (сверху вниз, слева направо).
Задание №9
Разработать программу построения и использования структуры быстрого поиска чисел с первичным разделением интервала искомых чисел на базе хэш-массива фиксированной длины. С каждым элементом хэш-массива должен связываться корень бинарного дерева поиска, в которым должны размещаться ключи из соответствующего поддиапазона.