Шаблон:Short description
A binary expression tree is a specific kind of a binary tree used to represent expressions . Two common types of expressions that a binary expression tree can represent are algebraic [1] and boolean . These trees can represent expressions that contain both unary and binary operators.[1]
Like any binary tree, each node of a binary expression tree has zero, one, or two children. This restricted structure simplifies the processing of expression trees.
Construction of an expression tree
Example
The input in postfix notation is: a b + c d e + * *
Since the first two symbols are operands, one-node trees are created and pointers to them are pushed onto a stack. For convenience the stack will grow from left to right.
Файл:Exp-tree-ex-2.svg Stack growing from left to right
The next symbol is a '+'. It pops the two pointers to the trees, a new tree is formed, and a pointer to it is pushed onto the stack.
Файл:Exp-tree-ex-3.svg Formation of a new tree
Next, c, d, and e are read. A one-node tree is created for each and a pointer to the corresponding tree is pushed onto the stack.
Файл:Exp-tree-ex-6.svg Creating a one-node tree
Continuing, a '+' is read, and it merges the last two trees.
Файл:Exp-tree-ex-7.svg Merging two trees
Now, a '*' is read. The last two tree pointers are popped and a new tree is formed with a '*' as the root.
Файл:Exp-tree-ex-8.svg Forming a new tree with a root
Finally, the last symbol is read. The two trees are merged and a pointer to the final tree remains on the stack.[2]
Файл:Exp-tree-ex-9.svg Steps to construct an expression tree a b + c d e + * *
Algebraic expressions
Файл:Exp-tree-ex-12.svg Binary algebraic expression tree equivalent to ((5 + z) / -8) * (4 ^ 2)
Algebraic expression trees represent expressions that contain numbers , variables , and unary and binary operators. Some of the common operators are × (multiplication ), ÷ (division ), + (addition ), − (subtraction ), ^ (exponentiation ), and - (negation ). The operators are contained in the internal nodes of the tree, with the numbers and variables in the leaf nodes .[1] The nodes of binary operators have two child nodes , and the unary operators have one child node.
Boolean expressions
Файл:Exp-tree-ex-13.svg Binary boolean expression tree equivalent to ((true <math>\lor</math> false) <math>\land</math> <math>\neg</math>false) <math>\lor</math> (true <math>\lor</math> false))
Boolean expressions are represented very similarly to algebraic expressions, the only difference being the specific values and operators used. Boolean expressions use true and false as constant values, and the operators include <math>\land</math> (AND ), <math>\lor</math> (OR ), <math>\neg</math> (NOT ).
See also
References
Шаблон:Reflist
Партнерские ресурсы
Криптовалюты
Магазины
Хостинг
Разное
Викиум - Онлайн-тренажер для мозга
Like Центр - Центр поддержки и развития предпринимательства.
Gamersbay - лучший магазин по бустингу для World of Warcraft.
Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
«Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.