Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Информатика

Динамические структуры данных

Тип: лабораторная работа
Категория: Информатика
Скачать
Купить
Міністерство освіти і науки УкраїниНаціональний технічний університет України "КПІ"Кафедра медичної кібернетики та телемедициниЛабораторна робота №2Тема: Динамічні структури данихВаріант №16 (задача 17.16).Виконав:студент ІМ-81Плахтій Артур МиколайовичПеревірив:старший викладачЗінченко Ніна ПавлівнаКиїв 2009Содержание1. Теоретическая частьНекоторые линейные спискиПостроение сложных структур в динамической памятиБинарные деревья2. Условия задачиТекст программыЕкран результатуКонтрольні розрахункиВисновокСписок літературних джерел1. Теоретическая частьНекоторые линейные спискиСтек создается как линейный список. Пусть Top - указатель на начало стека. Стек удобно строить в обратном порядке. Следующий фрагмент программы демострирует основные операции работы со стеком:Type ukaz=stak, stak=record inf: integer, next: ukaz, end, Var Top,Tek: ukaz; value: integer Procedure DobavS;Begin new (Tek) readln (Tek. inf) Tek. next: =Top Top: =Teк End Procedure UdalS Begin Top: =Top. next if Top=0 then writeln (нехватка элементов) EndДля организация очереди можно использовать аналогичный ссылочный тип, при этом необходимо иметь указатели на начальный nach и конечный kon элементы. Очередь удобно строить в прямом порядке (рис.1).Рис.1. Пример построения очереди в прямом порядкеЦиклически связанный список (циклический список) - такой список, в котором связь от последнего узла идет к первому элементу списка. На рис.2 изображен односвязный циклический список. В нем можно получить доступ к любому элементу списка, отправляясь от любой точки.Рис.2. Пример циклического спискаНаиболее важные операции для односвязных циклических списков:1. включить элемент слева2. включить элемент справа3. исключить узел слеваЕсли nach1 и nach2 указывают на два разных списка L1 и L2 (см. рис.3), то можно включить справа в список L1 весь список L2, для чего нужно выполнить присваивания, используя промежуточную переменную PP типа pointer:Var PP: pointer {... } PP: =nach1. link nach1. link: =nach2. link nach2. link: = PPРис.3.
Другие файлы:

Динамические структуры данных: двусвязные списки и двоичные деревья
Линейные динамические структуры. Построение списочной структуры, состоящей из трехнаправленного и двух однонаправленных списков, связанных между собой...

Динамические структуры данных
Разработка алгоритмов на динамических структурах данных. Описание структуры данных "стек". Процедуры добавления и удаления элемента, очистки памяти. К...

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

Динамические структуры данных
Проблемы с организацией данных. Определение и классификация динамических структур данных. Линейные односвязные, двухсвязные, кольцевые списки. Очередь...

Динамические структуры данных
Главной особенностью динамических структур является возможность изменения их структуры и размера в процессе работы программы. Это существенно повышает...