--- title: Trees TARGET DECK: Obsidian::STEM FILE TAGS: set::tree tags: - graph - set - tree --- ## Overview A **free tree** is a connected, acyclic, undirected [[set/graphs|graph]]. If an undirected graph is acyclic but possibly disconnected, it is a **forest**. %%ANKI Basic What is a free tree? Back: A connected, acyclic, undirected graph. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is a forest? Back: An acyclic undirected graph. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What additional property must an undirected graph exhibit to be a forest? Back: It must be acyclic. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What additional properties must an undirected graph exhibit to be a free tree? Back: It must be acyclic and connected. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What additional properties must a forest exhibit to be a free tree? Back: It must be connected. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What additional properties must a free tree exhibit to be a forest? Back: N/A. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic If the following isn't a free tree, why not? ![[free-tree.png]] Back: N/A Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic If the following isn't a free tree, why not? ![[forest.png]] Back: Because it is disconnected. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic If the following isn't a free tree, why not? ![[cyclic-undirected.png]] Back: Because it contains a cycle. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic If the following isn't a forest, why not? ![[free-tree.png]] Back: N/A. It is. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic If the following isn't a forest, why not? ![[forest.png]] Back: N/A. It is. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic If the following isn't a forest, why not? ![[cyclic-undirected.png]] Back: Because it contains a cycle. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic How do free trees pictorially relate to forests? Back: A forest is drawn as one or more free trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% ## Rooted Trees A **rooted tree** is a free tree in which one vertex is distinguished/blessed as the **root**. We call vertices of rooted trees **nodes**. Let $T$ be a rooted tree with root $r$. Any node $y$ on the [[set/graphs#Paths|path]] from $r$ to node $x$ is an **ancestor** of $x$. Likewise, $x$ is a **descendant** of $y$. If the last edge on the path from $r$ to $x$ is $\{y, x\}$, $y$ is the **parent** of $x$ and $x$ is a **child** of $y$. Nodes with the same parent are called **siblings**. A node with no children is an **external node** or **leaf**. A node with at least one child is an **internal node** or **nonleaf**. The number of children of a node is the **degree** of said node. The length of the path from the root to a node $x$ is the **depth** of $x$ in $T$. A **level** of a tree consists of all nodes at the same depth. The **height** of a node in a tree is the length of the longest path from the node to a leaf. %%ANKI Basic What is a rooted tree? Back: A free tree in which one of the vertices is distinguished from the others. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is every rooted tree a free tree? Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is every free tree a rooted tree? Back: No. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic How many levels exist in a rooted tree of height $h$? Back: $h + 1$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the height of a rooted tree with $k$ levels? Back: $k - 1$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which free trees are not considered rooted trees? Back: Those without some vertex identified as the root. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What distinguishes a node from a vertex? Back: A node is a vertex of a rooted tree. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is every vertex a node? Back: No. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is every node a vertex? Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Cloze {Nodes} are to rooted trees whereas {vertices} are to free trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which of free trees or rooted trees is a more general concept? Back: Free trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What does it mean for node $y$ to be an ancestor of node $x$ in a rooted tree? Back: The path from the root to $x$ contains $y$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What does it mean for node $y$ to be a descendent of node $x$ in a rooted tree? Back: The path from the root to $y$ contains $x$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Cloze In a rooted tree, if $y$ is an {ancestor} of $x$, then $x$ is a {descendant} of $y$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What are the ancestors of a rooted tree's root? Back: Just the root itself. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What are the descendants of a rooted tree's root? Back: Every node in the tree. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What are the proper ancestors of a rooted tree's root? Back: There are none. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What are the proper descendants of a rooted tree's root? Back: Every node but the root. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What does it mean for node $y$ to be a child of node $x$ in a rooted tree? Back: There exists a path from the root to $y$ such that the last edge is $\{x, y\}$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What does it mean for node $y$ to be a parent of node $x$ in a rooted tree? Back: There exists a path from the root to $x$ such that the last edge is $\{y, x\}$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, how does the concept of "ancestor" relate to "parent"? Back: Ancestors include parents, parents of parents, etc. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, how does the concept of "descendants" relate to "child"? Back: Descendants include children, children of children, etc. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, how many ancestors does a node have? Back: At least one (i.e. itself). Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, how many parents does a node have? Back: Zero or one. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, how many descendants does a node have? Back: At least one (i.e. itself). Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, how many children does a node have? Back: Zero or more. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes in a rooted tree has no parent? Back: Just the root. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, what are siblings? Back: Nodes that have the same parent. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, what is an external node? Back: A node with no children. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, what alternative term is used in favor of "external node"? Back: A leaf. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, what is an internal node? Back: A node with at least one child. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic In a rooted tree, what alternative term is used in favor of "internal node"? Back: A nonleaf. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Cloze {1:External} nodes are to {2:leaf} nodes whereas {2:internal} nodes are to {1:nonleaf} nodes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree. What does the degree of a node refer to? Back: The number of children that node has. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree. What does the depth of a node refer to? Back: The length of the path from the root to the node. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree. What does a level refer to? Back: A set of nodes in $T$ that have the same depth. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree. What does the height of a node refer to? Back: The length of the longest path from said node to a leaf. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the height of a rooted tree in terms of "height"? Back: The height of its root. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the height of a rooted tree in terms of "depth"? Back: The largest depth of any node in the tree. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree of height $h$. Which nodes have height $0$? Back: The external nodes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree of height $h$. Which nodes have height $h$? Back: The root node. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree of height $h$. Which nodes have depth $0$? Back: The root. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Let $T$ be a rooted tree of height $h$. Which nodes have depth $h$? Back: The external nodes on the longest paths from the root to said nodes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the height of this rooted tree? ![[rooted-tree.png]] Back: $4$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the height of node $4$ in the following rooted tree? ![[rooted-tree.png]] Back: $1$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the depth of node $11$ in the following rooted tree? ![[rooted-tree.png]] Back: $2$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which node has the largest depth in the following rooted tree? ![[rooted-tree.png]] Back: $9$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which node has the largest height in the following rooted tree? ![[rooted-tree.png]] Back: $7$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes are on level $3$ in the following rooted tree? ![[rooted-tree.png]] Back: $1$, $6$, and $5$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which level has the most nodes in the following rooted tree? ![[rooted-tree.png]] Back: The second level. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes have depth corresponding to this rooted tree's height? ![[rooted-tree.png]] Back: $9$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes have the most siblings in the following rooted tree? ![[rooted-tree.png]] Back: $3$, $10$, and $4$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes are ancestors to $12$ in the following rooted tree? ![[rooted-tree.png]] Back: $12$, $3$, and $7$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes are descendants of $4$ in the following rooted tree? ![[rooted-tree.png]] Back: $4$, $11$, and $2$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes are parents of $6$ in the following rooted tree? ![[rooted-tree.png]] Back: $8$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which nodes are children of $7$ in the following rooted tree? ![[rooted-tree.png]] Back: $3$, $10$, and $4$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What are the internal nodes of the following rooted tree? ![[rooted-tree.png]] Back: $7$, $3$, $4$, $12$, $8$, and $5$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What are the external nodes of the following rooted tree? ![[rooted-tree.png]] Back: $10$, $11$, $2$, $1$, $6$, and $9$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What level does node $6$ reside on in the following rooted tree? ![[rooted-tree.png]] Back: $3$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% ### Ordered Trees An **ordered tree** is a rooted tree in which the children of each node are ordered. %%ANKI Basic What is an ordered tree? Back: A rooted tree in which the children of each node are ordered. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which of ordered trees or rooted trees is the more general concept? Back: Rooted trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which of free trees or ordered trees is the more general concept? Back: Free trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is every rooted tree an ordered tree? Back: No. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is every ordered tree a rooted tree? Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic The following two trees are equivalent when considered as what (most specific) kind of trees? ![[ordered-rooted-tree-cmp.png]] Back: Rooted trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic The following two trees are different when considered as what (most general) kind of trees? ![[ordered-rooted-tree-cmp.png]] Back: Ordered trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Considered as rooted trees, are the following trees the same? ![[ordered-binary-tree-cmp.png]] Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Considered as ordered trees, are the following trees the same? ![[ordered-binary-tree-cmp.png]] Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Considered as positional trees, are the following trees the same? ![[ordered-binary-tree-cmp.png]] Back: No. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Considered as binary trees, are the following trees the same? ![[ordered-binary-tree-cmp.png]] Back: No. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Why are these two binary trees not the same? ![[ordered-binary-tree-cmp.png]] Back: `5` is a left child in the first tree but a right child in the second. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What $O(n)$ space representation is commonly used for ordered trees with unbounded branching? Back: A left-child, right-sibling tree representation. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic A node of a left-child, right-sibling tree representation has what three pointers? Back: The parent, left child, and right sibling. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the space usage of a left-child, right-sibling representation? Back: Given $n$ nodes in the tree, $O(n)$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What space may be wasted in a $k$-child representation of a $k$-ary tree? Back: Some children may be absent. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What space advantage does a left-child, right-sibling representation have over a $k$-child representation? Back: Absent children are not stored in the former. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic How is a `struct` of a $k$-child tree representation written? Back: ```c struct Node { struct Node *parent; struct Node *children[k]; }; ``` Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: c17 END%% %%ANKI Basic What tree representation corresponds to the following `struct`? ```c struct Node { struct Node *parent; struct Node *children[k]; }; ``` Back: A $k$-child representation. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: c17 END%% %%ANKI Basic How is a `struct` of a left-child, right-sibling tree representation written? Back: ```c struct Node { struct Node *parent; struct Node *left; struct Node *next; }; ``` Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: c17 END%% %%ANKI Basic What tree representation corresponds to the following `struct`? ```c struct Node { struct Node *parent; struct Node *left; struct Node *next; }; ``` Back: A left-child, right-sibling representation. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: c17 END%% %%ANKI Basic What is an LCRS tree representation? Back: A **l**eft-**c**hild, **r**ight-**s**ibling representation. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic The following is a portion of what kind of tree representation? ![[lcrs-nodes.png]] Back: A left-child, right-sibling representation. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic The following is a portion of what kind of tree representation? ![[binary-tree-nodes.png]] Back: A $k$-child (binary) representation. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% ### Positional Trees A **positional tree** is a rooted tree in which each child is labeled with a specific positive integer. A **$k$-ary tree** is a positional tree with at most $k$ children/labels. A [[binary-tree|binary tree]] is a $2$-ary tree. A $k$-ary tree is **full** if every node has degree $0$ or $k$. A $k$-ary tree is **perfect** if all leaves have the same depth and all internal nodes have degree $k$. A $k$-ary tree is **complete** if the last level is not filled but all leaves have the same depth and are leftmost arranged. %%ANKI Basic Why aren't terms "complete/perfect" and "nearly complete/complete" quite synonymous? Back: In the former, "perfect" trees are a subset of "complete" trees. Reference: “Binary Tree,” in _Wikipedia_, March 13, 2024, [https://en.wikipedia.org/w/index.php?title=Binary_tree&oldid=1213529508#Types_of_binary_trees](https://en.wikipedia.org/w/index.php?title=Binary_tree&oldid=1213529508#Types_of_binary_trees). END%% %%ANKI Basic What distinguishes a positional tree from a $k$-ary tree? Back: A $k$-ary tree cannot have child with label $> k$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is a $k$-ary tree a positional tree? Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is a positional tree a $k$-ary tree? Back: Not necessarily. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What distinguishes positional trees from ordered trees? Back: Children of the former are labeled with a distinct positive integer. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is the notion of absent children a concept in ordered trees? Back: No. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is the notion of absent children a concept in positional trees? Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is the notion of absent children a concept in $k$-ary trees? Back: Yes. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is a positional tree? Back: A rooted tree in which each child is labeled with a distinct positive integer. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is a $k$-ary tree? Back: A positional tree with labels greater than $k$ missing. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which of positional trees or $k$-ary trees are more general? Back: The positional tree. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Which of positional trees or ordered trees are more general? Back: N/A. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Is the concept of fullness related to positional trees or $k$-ary trees? Back: $k$-ary trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is the concept of perfectness related to positional trees or $k$-ary trees? Back: $k$-ary trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic Is the concept of completeness related to positional trees or $k$-ary trees? Back: $k$-ary trees. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What does it mean for a $k$-ary tree to be full? Back: Each node has $0$ or $k$ children. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What degrees are permitted in a full $k$-ary tree? Back: $0$ and $k$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What degrees are permitted in a perfect $k$-ary tree? Back: $0$ and $k$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What does it mean for a $k$-ary tree to be perfect? Back: All leaves have the same depth and all internal nodes have degree $k$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the degree of an internal node in a perfect $k$-ary tree? Back: $k$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the degree of an external node in a perfect $k$-ary tree? Back: $0$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What recursive definition describes the number of nodes in each level of a perfect $k$-ary tree? Back: $a_n = k \cdot a_{n-1}$ with $a_0 = 1$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic How many nodes are in a perfect $k$-ary tree of height $h$? Back: $$\frac{1 - k^{h+1}}{1 - k}$$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic How many internal nodes are in a perfect $k$-ary tree of height $h$? Back: $$\frac{1 - k^h}{1 - k}$$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic How many external nodes are in a perfect $k$-ary tree of height $h$? Back: $k^h$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic How many nodes are on level $d$ of a perfect $k$-ary tree? Back: $k^d$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic What kind of sequence describes the number of nodes in a perfect $k$-ary tree? Back: A geometric sequence. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic What is the common ratio of the geometric sequence used to count nodes of a perfect $k$-ary tree? Back: $k$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). Tags: algebra::sequence END%% %%ANKI Basic What does it mean for a $k$-ary tree to be complete? Back: All levels, except maybe the last, are filled. All leaves have the same depth and are leftmost arranged. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic How is the minimum number of nodes in a complete $k$-ary tree of height $h$ calculated in terms of perfect $k$-ary trees? Back: As "the number of nodes in a perfect $k$-ary tree of height $h - 1$" plus $1$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What is the maximum number of nodes in a complete binary tree of height $h$? Back: $2^{h+1} - 1$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic How is the maximum number of nodes in a complete $k$-ary tree of height $h$ calculated in terms of perfect $k$-ary trees? Back: As "the number of nodes in a perfect $k$-ary tree of height $h$". Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic How many internal nodes are in a complete $k$-ary tree of $n$ nodes? Back: $\lceil (n - 1) / k \rceil$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What value of $k$ is used in the following description of a complete $k$-ary tree? $$\begin{array}{c|c|c} n & \text{external} & \text{internal} \\ \hline 1 & 1 & 0 \\ 2 & 1 & 1 \\ 3 & 2 & 1 \\ 4 & 3 & 1 \\ 5 & 4 & 1 \\ 6 & 4 & 2 \\ 7 & 5 & 2 \\ 8 & 6 & 2 \end{array}$$ Back: $4$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic What value of $k$ is used in the following description of a complete $k$-ary tree? $$\begin{array}{c|c|c} n & \text{external} & \text{internal} \\ \hline 1 & 1 & 0 \\ 2 & 1 & 1 \\ 3 & 2 & 1 \\ 4 & 2 & 2 \\ 5 & 3 & 2 \\ 6 & 3 & 3 \\ 7 & 4 & 3 \\ 8 & 4 & 4 \end{array}$$ Back: $2$ Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic When does the number of external nodes increment in a growing $k$-ary tree? Back: When the next node added already has a sibling. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic When does the number of external nodes remain static in a growing $k$-ary tree? Back: When the next node added has no sibling. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic When does the number of internal nodes increment in a growing $k$-ary tree? Back: When the next node added has no sibling. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% %%ANKI Basic When does the number of internal nodes remain static in a growing $k$-ary tree? Back: When the next node added already has a sibling. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% ## Bibliography * Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022).