Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_ответы.docx
Скачиваний:
13
Добавлен:
22.09.2019
Размер:
138.16 Кб
Скачать

25. Постфиксная, префиксная, инфиксная записи выражения.

Существуют три вида записи выражений: 1. инфиксная форма, в которой оператор расположен между операндами (например, "а + b"); 2. постфиксная форма, в которой оператор расположен после операндов ("а b + "); 3. префиксная форма, в которой оператор расположен перед операндами ("+ а b"). Постфиксная и префиксная формы образуют т.н. польскую форму записи (польская нотация). Польская форма удобна, прежде всего, тем, что в ней отсутствуют скобки.

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

26. Деревья. Понятия бинарного дерева. Способы представления д.

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

Узел дерева – элемент, который имеет выше или ниже стоящие элементы.

Лист дерева – элемент, который не имеет поддеревьев.

Корень дерева – самый верхний элемент

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

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

Почти полное бинарное дерево - это бинарное дерево, для которого существует неотрицательное целое k такое, что

1. Каждый лист в дереве имеет уровень k или k+1.

2. Если узел дерева имеет правого потомка уровня k+1, тогда все его левые потомки, являющиеся листами, также имеют уровень k+1.

Упорядоченные бинарные деревья - это деревья, в которых для каждого узла Х выполняется правило: в левом поддереве - ключи, меньшие Х, в правом поддереве - большие или равные Х.

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