A binary tree with n nodes has exactly n+1 null nodes or Null Branches.
so answer is 21.
MOHAMMAD SAJID
No. A leaf node is a node that has no child nodes. A null node is a node pointer that points to the null address (address zero). Since a leaf node has no children, its child nodes are null nodes.
Induction: 1. A tree of one node has two NULL-pointers. 2. Whenever you add a node to a tree, you remove one NULL-pointer (from the parent of the new node), and add two (the child's of the new node) in the same time.
int numNodes = 0; Node current = root; // if root is null, the number of nodes is 0 if(current != null) { // if root is not null, we have at least one node numNodes = 1; // count all nodes while(current .next != null) { ++numNodes; current = current.next; } }
Really the best way to traverse any binary tree is recursion. In this case we are going to be some node defined as having 3 values, a pointer to a left node, a pointer to a right node, and a value. then in psudocode we can do it as: int height(node n, int depth){ int leftDepth; int rightDepth; if(n.left != NULL) leftDepth = height(n.left, depth+1) else leftDepth = depth; if(n.right != NULL) rightDepth = height(n.right, depth+1) else rightDepth = depth; if(leftDepth > rightDepth) return leftDepth; return rightDepth; } Essentially what you are doing is calling the algorithm on both the left and right nodes which in turn will call it on their left and right nodes, down to where all the nodes are null. Then what is returned is the greater depth of the two; because it will traverse before returning a depth, and only traverses if there is a deeper node, it will return the depth of the deepest node, or the height of the binary tree.
1. Binary Tree 2. Null Tree 3. High&Low Balance Tree . . .
12
In a decision tree data structure, a NULL branch is a decision that has no outcome. The maximum possible number of null branches is equal to n + 1, where n is the number of nodes.
No. A leaf node is a node that has no child nodes. A null node is a node pointer that points to the null address (address zero). Since a leaf node has no children, its child nodes are null nodes.
int countleaves(struct node* root){ if(root!=null) { countleaves(root->left); if(root->left==NULL&&root->right==NULL) { count++; } countleaves(root->right); } }
Induction: 1. A tree of one node has two NULL-pointers. 2. Whenever you add a node to a tree, you remove one NULL-pointer (from the parent of the new node), and add two (the child's of the new node) in the same time.
In this representation, each node contains two pointers, one pointing to its parent (null in the case of root node) and the other pointing to its child node (null in the case of leaf nodes).
int numNodes = 0; Node current = root; // if root is null, the number of nodes is 0 if(current != null) { // if root is not null, we have at least one node numNodes = 1; // count all nodes while(current .next != null) { ++numNodes; current = current.next; } }
NULL is for pointers, 0, for numbers
In php mathmatical operations treat null like 0, so any number plus null equals itself. For example #!/usr/local/bin/php printf ("%d\n", null+6); printf ("%d\n", 6+null); ?> output: 6 6
Really the best way to traverse any binary tree is recursion. In this case we are going to be some node defined as having 3 values, a pointer to a left node, a pointer to a right node, and a value. then in psudocode we can do it as: int height(node n, int depth){ int leftDepth; int rightDepth; if(n.left != NULL) leftDepth = height(n.left, depth+1) else leftDepth = depth; if(n.right != NULL) rightDepth = height(n.right, depth+1) else rightDepth = depth; if(leftDepth > rightDepth) return leftDepth; return rightDepth; } Essentially what you are doing is calling the algorithm on both the left and right nodes which in turn will call it on their left and right nodes, down to where all the nodes are null. Then what is returned is the greater depth of the two; because it will traverse before returning a depth, and only traverses if there is a deeper node, it will return the depth of the deepest node, or the height of the binary tree.
yes.
for (node=head; node!=null; node=node->next) printnode(node);