Grafos e árvores são estruturas matemáticas que representam relações. Grafos consistem em vértices e arestas, e podem ser direcionados ou não. Árvores são grafos acíclicos e conexos. Árvores binárias dividem cada nó em no máximo duas subárvores esquerda e direita.