Pre-condition:
typedef struct intnode {
int info;
node *left, *right;
}node;
Algorithm:step 1: if pointer is null, return;
step 2: visit root
step 3: visit left sub-tree, repeat step 1
step 4: visit right sub-tree, repeat step 1
step 5: stop
Code:
void preorder(node *p){
// if pointer null, return
if( p == NULL )
return;
// visit root
printf("%d ", p->info);
// visit left-sub-tree
preorder( p->left );
// visit right-sub-tree
preorder( p->right );
}
Complexity:O(n), because each node has to be visited atleast once and increases linearly for increasing 'n'.
No comments :
Post a Comment