Updated project to use eclipse build tools and make system.
[C-Data-Structures.git] / lib_vbtree.h
blobd6e9bcd9eff45eece62daf45593adc231807c38c
1 #ifndef LIB_VBTREE_H_
2 #define LIB_VBTREE_H_
4 #define MAX_HEIGHT 20
6 typedef struct TreeNode {
7 void *pData;
8 struct TreeNode *left;
9 struct TreeNode *right;
10 } TreeNode;
12 typedef struct {
13 TreeNode *root;
14 } BinaryTree;
17 TreeNode newNode(int n);
20 TreeNode *newTreeNode(void *d);
23 TreeNode *buildTree(FILE * in);
26 void vbtree_pre_order(TreeNode *node);
29 void vbtree_in_order(TreeNode *node);
32 void vbtree_post_order(TreeNode *node);
35 TreeNode *vbtree_find_insert(BinaryTree bt, TreeNode d);
38 int vbtree_node_count(TreeNode *root);
41 int vbtree_leave_count(TreeNode *root);
44 int vbtree_height(TreeNode *root);
47 int vbtree_node_level(int n);
50 void vbtree_insert_best(TreeNode *lastNode[]);
53 TreeNode *vbtree_finalize_best(TreeNode *lastNode[]);
55 #endif /* LIB_VBTREE_H_ */