Skip to content

franzwilhelm/BinaryExpressionTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binary expresion tree

Implementation in java of a binary expression tree, written by me and @eirikhalvard, using atom's new plugin Teletype, for real time collaboration (check it out!)

How it works

A binary expression tree is a binary tree representation of mathematical expressions, which make it easier to translate an input expression to an actual answer.

Consider this example, with input of -2*7-4^2.

Tree

To compose this tree our algorithm searches for the least significant operator (based on order of operations), and divides the calculation into two subparts. This process is repeated recursively, always pivoting by the least significant operator. In later versions, where we may add support for parentheses, the parentheses would be generated as smaller individual trees that would be solved first, passing the result as a digit to the rest of the tree for further processing.

Roadmap

The plan is trying to implement more functionality to the tree, making it a useful and fast math tool, for use in any terminal. After implementing basic functions mentioned underneath, we may move into the world of linear algebra, and all that entails...

General

  • Negative numbers
  • Parenthesis

Basic operators

  • + - / * ^
  • sqrt
  • ln
  • log10

Trigonometric functions

  • sin, cos, tan
  • arcsin, arccos, arctan
  • sinh, cosh, tanh
  • cot, csc, sec

Constants

  • pi
  • e
  • the imaginary unit i

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages