Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовые по Моделированию.doc
Скачиваний:
12
Добавлен:
22.04.2019
Размер:
364.54 Кб
Скачать

35 Использование понятия дерева в информатике и программировании.

Дерево — неориентированный граф без циклов.

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

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

Эквивалентные определения дерева.

1. Связный граф называется деревом, если он не имеет циклов.

2. Содержит N-1 ребро и не имеет циклов.

3. Связный и содержит N-1 ребро.

4. Связный и удаление одного любого ребра делает его несвязным.

5. Любая пара вершин соединяется единственной цепью.

6. Не имеет циклов и добавление одного ребра между любыми двумя вершинами приводит к появлению одного и только одного цикла.

36. Итерпритация задачи о кратчайших путях.

Нахождение кратчайшего пути в графе Пусть дан граф, дугам которого приписаны веса. Задача о нахождении кратч-о пути состоит в нахождении кратчайшего пути от заданной начальной вершины до заданной конечной вершины, при условии, что такой путь существует. Можно дать много практических интерпретаций задачи о кратчайших путях. Например, вершины могут соответствовать городам и каждая дуга - некоторому пути, длина которого представлена весом дуги. Мы ищем кратчайшие пути между городами. Вес дуги может соответ-ь стоимости (или времени) передачи инфор-и м/у вершинами. В этом случае мы ищем самый дешевый (или самый скорый).

Алгоритм нахождения кратчайшего пути Данные: Расстояния D[v] от фиксированной вершины s до всех остальных вершин v  V, фиксированная вершина t, матрица весов ребер,A[uv], uv V. Рез-ты: СТЕК сод-т последов-ть вершин, опред-ую кратч-ий путь из s в t. Begin CTEK :=  ; CTEK  tv:= t; while v ╧ s do begin u := вершина, для которой D[v] = D[u] + A[uv]; CTEK  u; v:= u end end.