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