Файл: Задания по лабораторным работам.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 38

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ЗАДАНИЯ ПО ЛАБОРАТОРНЫМ РАБОТАМ 

Дисциплина «ПРОГРАММИРОВАНИЕ» 

(2-ой семестр) 

 

Задание №1 

Требуется разработать программу обеспечивающую: 

- построение линейного односвязного списка типа «стек» с заполнением его узлов вводимыми с клавиатуры числами; 

- вывод на экран в обратном порядке всех положительных чисел, хранимых в стеке. 

 

Задание №2 

Требуется разработать программу обеспечивающую: 

  1. построение линейного односвязного линейного списка типа «очередь». (информационные части узлов должны иметь целочисленный тип и заполняться путем последовательного ввода значений с клавиатуры; признак окончания ввода – введенный 0); 

  1. обработку созданного списка с выполнением следующих функций: 

а) вставку узлов с информационной частью = 1 во все позиции списка, предшествующие узлам с отрицательной информационной частью 

б) удаление всех узлов списка, содержащих в информационной части отрицательные числа; 

в) расчет количества вхождений заданного с клавиатуры числа в информационные поля узлов; 

г) рекурсивное удаление всех узлов списка 

  

 

Задание №3 

Реализовать задание лабораторной работы №2 для случая односвязного циклического списка. 

 

Задание №4 

Необходимо реализовать программу обеспечивающую обработку линейного двусвязного списка. Узлы списка должны хранить информацию о городах. В состав этой информации входят: 

- название города; 

- название региона; 

- количество жителей. 

Над списком требуется произвести следующие операции: 

а) построение и заполнение узлов списка данными с клавиатуры; 

б) вывести на экран названия регионов в порядке убывания суммарной численности городского населения; 

в) удалить узлы, хранящие информацию о городах указанного (с клавиатуры) региона; 

г) очистить список. 

 

Задание №5 

Разработать программу обеспечивающую: 

1) формирование хэш-таблицы (размерность – не более числа литер в латинском алфавите), позволяющей хранить информацию о введенных с клавиатуры словах; механизм обработки коллизий в построенной таблице должен обеспечиваться путем формирования вспомогательных списков «конфликтующих» слов,
связываемых с соответствующей ячейкой таблицы; 

2) реализацию поиска заданного слова в хэш-таблице. 

 

Задание №6 

Реализовать программу построения и обработки бинарного дерева поиска. Дерево заполняется вводимыми с клавиатуры числами (признак окончания входной последовательности – ввод числа 0). После этого должен поддерживаться быстрый поиск задаваемых с клавиатуры чисел в построенном дереве. По окончании операций поиска программа должна очистить память, занимаемую древесной структурой данных. 

 

Задание №7 

Расширить функциональность программы из лабораторной работы №6 путем ее дополнения функцией вывода элементов построенного дерева на экран: 

а) в префиксном порядке; 

б) в инфиксном порядке; 

в) в постфиксном порядке. 

Дополнить программу вводом соответствующего меню, позволяющего выбирать номера пунктов задания. 

 

 

Задание №8 

Расширить функциональность программы из лабораторной работы №6 путем ее дополнения функцией вывода элементов построенного дерева на экран по уровням (сверху вниз, слева направо). 

 

Задание №9 

Разработать программу построения и использования структуры быстрого поиска чисел с первичным разделением интервала искомых чисел на базе хэш-массива фиксированной длины. С каждым элементом хэш-массива должен связываться корень бинарного дерева поиска, в которым должны размещаться ключи из соответствующего поддиапазона.