How innocent-gift/alu-binary_trees works
This is a small C binary-tree utility library for creating, modifying, traversing, measuring, and inspecting binary trees. Its principal workflow is for a caller to build or change a tree, then invoke traversal, measurement, or relationship helpers; these are independent API operations, not a built-in pipeline. The header documents the public API, while sampled source confirms printing behavior. Other function relationships are not inferred from filenames alone.
Main entry points: binary_tree_print.c Print Tree · 0-binary_tree_node.c Create Node · 1-binary_tree_insert_left.c Insert Left · 2-binary_tree_insert_right.c Insert Right
Components 23
Tree Structure
- Tree Node API
binary_trees.h - Create Node
0-binary_tree_node.c - Insert Left
1-binary_tree_insert_left.c - Insert Right
2-binary_tree_insert_right.c - Delete Tree
3-binary_tree_delete.c
Traversal
- Preorder Walk
6-binary_tree_preorder.c - Inorder Walk
7-binary_tree_inorder.c - Postorder Walk
8-binary_tree_postorder.c - Print Tree
binary_tree_print.c
Tree Metrics
- Check Leaf
4-binary_tree_is_leaf.c - Check Root
5-binary_tree_is_root.c - Measure Height
9-binary_tree_height.c - Measure Depth
10-binary_tree_depth.c - Count Nodes
11-binary_tree_size.c - Count Leaves
12-binary_tree_leaves.c - Count Internal
13-binary_tree_nodes.c - Measure Balance
14-binary_tree_balance.c - Check Full
15-binary_tree_is_full.c - Check Perfect
16-binary_tree_is_perfect.c
Node Relationships
- Find Sibling
17-binary_tree_sibling.c - Find Uncle
18-binary_tree_uncle.c
Other components
- Library Caller
- Standard Output
Connections 21
- Library Caller → Create Node: creates
- Library Caller → Insert Left: inserts
- Library Caller → Insert Right: inserts
- Library Caller → Delete Tree: deletes
- Library Caller → Preorder Walk: traverses
- Library Caller → Inorder Walk: traverses
- Library Caller → Postorder Walk: traverses
- Library Caller → Print Tree: prints
- Library Caller → Measure Height: measures
- Library Caller → Measure Depth: measures
- Library Caller → Count Nodes: counts
- Library Caller → Count Leaves: counts
- Library Caller → Count Internal: counts
- Library Caller → Measure Balance: checks
- Library Caller → Check Full: checks
- Library Caller → Check Perfect: checks
- Library Caller → Check Leaf: checks
- Library Caller → Check Root: checks
- Library Caller → Find Sibling: finds
- Library Caller → Find Uncle: finds
- Print Tree → Standard Output: prints to