Лабораторная работа №5. Структуры и алгоритмы обработки данных. Нахождение эйлерова цикла в графе.
Состав работы
|
|
Работа представляет собой файл, который можно открыть в программе:
- Microsoft Word
Описание
Лабораторная работа №5. Структуры и алгоритмы обработки данных. Нахождение эйлерова цикла в графе.
Постановка задачи:
Найти эйлеров цикл в заданном графе.
Теория
Эйлеров путь (эйлерова цепь) в графе — это путь, проходящий по всем рёбрам графа и притом только по одному разу.
Эйлеров путь в графе существует тогда и только тогда, когда граф связный и содержит не более чем 2 вершины нечетной степени.
Если в связном графе нет вершин нечетной степени, то каждый эйлеров путь называется циклом.
Алгоритм нахождения эйлерова цикла графа
1. Если алгоритм обхода в глубину не посетил все вершины, то
1.1. Выводим сообщение «Граф не содержит эйлерова цикла, так как граф несвязный».
2. Иначе
2.1. Если количество ребер каждой какой-либо вершины нечетное, то
2.1.1. Выводим сообщение «Граф не содержит эйлерова цикла, так как не все вершины имеют четную степень».
2.2. Иначе
2.2.1. Заносим первую вершину во временный стек.
2.2.2. Пока временный стек не пустой:
2.2.2.1. Присваиваем временной вершине значение вершины стека.
2.2.2.2. Если количество ребер временной вершины больше нуля, то
2.2.2.2.1. Заносим во временный стек первую смежную вершину.
2.2.2.2.2. Удаляем ребро, соединяющую временную вершину и ее первую смежную вершину.
2.2.2.3. Иначе
2.2.2.3.1. Вынимаем из временного стека и заносим в стек эйлерова цикла.
2.2.2.4. Выводим эйлеров цикл на экран
Входные данные:
• vertices[] – массив вершин графа.
• edges[] – массив ребер графа.
Промежуточные данные:
• stack – стек для промежуточного хранения вершин.
• cycl – стек для хранения вершин эйлерова пути.
• node – переменная для временного хранения вершины.
• adjacent – переменная для временного хранения первой смежной вершины.
Выходные данные:
• statusCycl– текстовое поле для вывода последовательности вершин эйлерова цикла.
• cycl – стек для хранения вершин эйлерова пути графа.
Постановка задачи:
Найти эйлеров цикл в заданном графе.
Теория
Эйлеров путь (эйлерова цепь) в графе — это путь, проходящий по всем рёбрам графа и притом только по одному разу.
Эйлеров путь в графе существует тогда и только тогда, когда граф связный и содержит не более чем 2 вершины нечетной степени.
Если в связном графе нет вершин нечетной степени, то каждый эйлеров путь называется циклом.
Алгоритм нахождения эйлерова цикла графа
1. Если алгоритм обхода в глубину не посетил все вершины, то
1.1. Выводим сообщение «Граф не содержит эйлерова цикла, так как граф несвязный».
2. Иначе
2.1. Если количество ребер каждой какой-либо вершины нечетное, то
2.1.1. Выводим сообщение «Граф не содержит эйлерова цикла, так как не все вершины имеют четную степень».
2.2. Иначе
2.2.1. Заносим первую вершину во временный стек.
2.2.2. Пока временный стек не пустой:
2.2.2.1. Присваиваем временной вершине значение вершины стека.
2.2.2.2. Если количество ребер временной вершины больше нуля, то
2.2.2.2.1. Заносим во временный стек первую смежную вершину.
2.2.2.2.2. Удаляем ребро, соединяющую временную вершину и ее первую смежную вершину.
2.2.2.3. Иначе
2.2.2.3.1. Вынимаем из временного стека и заносим в стек эйлерова цикла.
2.2.2.4. Выводим эйлеров цикл на экран
Входные данные:
• vertices[] – массив вершин графа.
• edges[] – массив ребер графа.
Промежуточные данные:
• stack – стек для промежуточного хранения вершин.
• cycl – стек для хранения вершин эйлерова пути.
• node – переменная для временного хранения вершины.
• adjacent – переменная для временного хранения первой смежной вершины.
Выходные данные:
• statusCycl– текстовое поле для вывода последовательности вершин эйлерова цикла.
• cycl – стек для хранения вершин эйлерова пути графа.
Дополнительная информация
2020
Похожие материалы
Структуры и алгоритмы обработки данных. Лабораторная работа №5
sibguter
: 5 июня 2018
Тема: Хэширование и поиск
Цель работы: Изучение возможности хэширования данных для организации поиска.
Порядок выполнения работы:
Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хэш-таблице элемента по заданному ключу. Вывести на экран построенную хэш-таблицу.
Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполн
49 руб.
Лабораторная работа №5. Структуры и алгоритмы обработки данных
tanzor
: 8 июля 2014
Порядок выполнения работы:
Написать программу “Телефонный справочник”, которая обрабатывает данные об абонентах телефонной станции. Каждый абонент имеет имя, адрес, телефонный номер. В программе описать массив абонентов (назовем его справочник). В справочнике должно быть не менее 20 элементов, которые заполняются либо программно, либо считываются из файла.
С помощью индексов и фильтров (номер задания выбирается по последней цифре шифра) – упорядочить справочник по телефонному номеру по убывани
10 руб.
Структуры и алгоритмы обработки данных. Лабораторная работа №5
piligrim-24
: 26 октября 2011
1. Построить хэш-таблицу методом линейных проб для слов заданного текста. Текст находится в некотором файле (примерно 200 слов). Экспериментально определить минимально необходимый объем хэш-таблицы и число коллизий при построении.
2. Построить хэш-таблицу методом квадратичных проб для слов заданного текста. Файл с текстом должен быть тот же, что и п.1. Экспериментально определить минимально необходимый объем хэш-таблицы и число коллизий при построении.
3. Заполнить следующую таблицу полученными
50 руб.
Структуры и алгоритмы обработки данных. Лабораторная работа 5
jashma28
: 8 октября 2011
Задание:
1. Построить хэш-таблицу методом линейных проб для слов заданного текста. Текст находится в некотором файле (примерно 200 слов). Экспериментально определить минимально необходимый объем хэш-таблицы и число коллизий при построении.
2. Построить хэш-таблицу методом квадратичных проб для слов заданного текста. Файл с текстом должен быть тот же, что и п.1. Экспериментально определить минимально необходимый объем хэш-таблицы и число коллизий при построении.
3. Заполнить следующую таблицу по
800 руб.
Структуры и алгоритмы обработки данных. Лабораторная работа №5. Вариант №4
tpogih
: 13 сентября 2014
Тема: Хэширование и поиск.
Цель работы: Освоить методы построения хэш-таблиц и поиска с помощью хэш-таблиц.
Порядок выполнения работы:
1. Построить хэш-таблицу методом линейных проб для слов заданного текста. Текст находится в некотором файле (примерно 200 слов). Экспериментально определить минимально необходимый объем хэш-таблицы и число коллизий при построении.
2. Построить хэш-таблицу методом квадратичных проб для слов заданного текста. Файл с текстом должен быть тот же, что и п.1. Эксперим
45 руб.
Структуры и алгоритмы обработки данных (2 часть). Лабораторная работа №5
nick0x01
: 21 июня 2014
Тема: Построение дерева почти оптимального поиска
Цель работы: Освоить методы построения ДОП приближенными методами.
Порядок выполнения работы:
1. Разработать процедуры построения ДОП приближенными методами А1 и А2.
2. Вычислить средневзвешенную высоту построенных ДОП для n=10, 50, 100, 200, 400 (n -количество вершин в дереве) и заполнить таблицу следующего вида. Проанализировать полученные результаты, сравнить их между собой.
69 руб.
«Структуры и алгоритмы обработки данных. Часть 2». Лабораторная работа №5.
wchg
: 10 сентября 2013
Лабораторная работа 5
Тема: Построение дерева почти оптимального поиска
Цель работы: Освоить методы построения ДОП приближенными методами.
Порядок выполнения работы:
Разработать процедуры построения ДОП приближенными методами А1 и А2.
Вычислить средневзвешенную высоту построенных ДОП для n=10, 50, 100, 200, 400 (n -количество вершин в дереве) и заполнить таблицу следующего вида. Проанализировать полученные результаты, сравнить их между собой.
79 руб.
Структуры и алгоритмы обработки данных (1- я часть). Лабораторная работа №5
fitaria
: 28 августа 2013
Лабораторная работа 5. Хэширование и поиск.
Цель работы: Освоить методы построения хэш-таблиц и поиска с помощью хэш-таблиц.
Порядок выполнения работы:
Построить хэш-таблицу методом линейных проб для слов заданного текста. Текст находится в некотором файле (примерно 200 слов). Экспериментально определить минимально необходимый объем хэш-таблицы и число коллизий при построении.
Построить хэш-таблицу методом квадратичных проб для слов заданного текста. Файл с текстом должен быть тот же, что и п.1
40 руб.
Другие работы
Буровые машины
SerFACE
: 6 февраля 2013
Обзор буровых машин и их техн характеристик.
Описание буровой установки XCMG XR250
Гидравлические буровые установки XCMG серии XR на гусеничном ходу были разработаны и произведены строго в соответствии с ISO9001. Буровые установки XCMG серии XR представляют собой высокоэффективные агрегаты для бурения скважин при проведении строительных работ по свайному фундаменту, предназначены для ведения таких фундаментных работ, как строительство многоэтажных зданий, мостов и гидротехнического строительств
20 руб.
Основы построения инфокоммуникационных систем и сетей. Лабораторные работы 1, 2 Вариант 4
lfesta
: 6 декабря 2016
Лабораторная работа 1
Синхронизация в системах передачи дискретных сообщений
Лабораторная работа 2
Эффективное кодирование на примере кода Хаффмена
50 руб.
Механика материалов и конструкций ПГУ 2018 Задача 2 Схема 2 Вариант 22092
Z24
: 13 ноября 2025
Стержень постоянного круглого поперечного сечения (рис. 1.6) защемлен обоими торцами и нагружен продольными силами.
Раскрыть статическую неопределимость, построить эпюру нормальных усилий N и эпюру линейных перемещений Δ.
Расчетную схему принять по рис. 1.6. Данные для расчета принять по табл. 1.2 при l = 100 мм; Р = 10 кН.
Выполнить проектный расчет на прочность, считая, что стержень изготовлен из материала сталь с характеристиками Е = 2·105 МПа и [σ] = 160 МПа.
300 руб.
Бухучет. Вариант №5
Svetlana16
: 11 декабря 2015
По данным баланса открыть счета синтетического учета.Составить корреспонденции счетов с указанием типов изменений в балансе под влиянием хозяйственных операций. Тест.
50 руб.