Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ponyatie_slozhnosti_algoritma.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
147.01 Кб
Скачать
  1. [30, 1] Постоянная

  2. [40, 3] Постоянная

5 [90, 3] или [40+50, 4]=[90,4] Временная

    Временная метка [100, 1], полученная узлом 2 на втором шаге, изменена на [55, 4]. Это указывает на то, что найден более короткий путь к этому узлу (проходящий через узел 4). На третьем шаге узел 5 получает две метки с одинаковым значением расстояния u5 = 90.

    Шаг 4. Из узла 2 можно перейти только в узел 3, но он уже имеет постоянную метку, которую нельзя изменить. Поэтому на данном шаге получаем такой же список меток, как и на предыдущем шаге, только метка узла 2 получает статус постоянной.

Шаг 5. С временной меткой остается только узел 5, но так как из этого узла нельзя попасть ни в какой другой, ему присваивается постоянный статус и процесс вычислений заканчивается.

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

(2) -> [55, 4] -> (4) -> [40, 3] -> (3) -> [30, 1] ->(1)

Между узлами (2) и (1): [55, 4].

  1. Вычисление выражений по их символьному представлению.

Формула – линейное скобочное выражение, в котором по правилам математики описаны действия(+-*/) над переменными, задаваемыми одной буквой латинского алфавита.

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

(a+b)*(c-d)+е

Построение начинается с корня, в качестве которого выбирается операция, выполняющаяся последней; далее в левой ветви ставится в соответствии левого операнда, в правой – правый. Когда дерево построено, совершается его обход, при этом в качестве выходной строки производится запись пройденных вершин. Обход осуществляется слева направо, при чем узел вносится в запись только после прохождения всех ему подчиненных вершин.

ab+cd-*e+

  1. Построение обратной польской записи выражения.

посимвольно просматривается исходная строка:

- если очередной символ - буква, то он переписывается в выходную строку

- если очер.символ – открывающая скобка, то он помещается в стек

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

- знак операции выталкивает из стека в выходн.строку все операции с приоритетом большим или равным приоритету этой операции, а сам заносится в стек.

  1. Операция: ( ) + - * /

Приоритет: 0 1 2 3

Просматриваемый символ

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Входная строка

(

a

+

b

)

*

(

c

-

d

)

+

e

Состояние стека

(

(

+

(

+

(

*

(

*

(

*

-

(

*

-

(

*

*

+

+

Выходная строка

a

b

+

c

d

-

*

e

+

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]