You are on page 1of 3

Bi thc hnh tun 6

(Bn cn hon thnh c hai bi tp c im tun ny


Bn c th ci t chng trnh ca mnh s dng Java hoc C/C++)
Bi 1. nh ngha mt cu trc cy nh di y:

struct Node{
int data;
Node *firstChild;
Node *nextSibling;
};
typedef struct TreeADT *Tree;
struct TreeADT{
Node *root;
};
Ci t cc hm di y. Lu , bn cn phi tm mt cch kim tra cc hm bn ci
t.
// To mt cy t mt tp tin m trong tt c cc s lin tip nhau c cng node cha
nm trn mt dng ring v cch nhau bi du cch theo th t duyt cy tin th t
(preorder)
Tree createTree(char *filename);
//In ra gi tr cc nt ca cy theo th t duyt cy tin th t(preorder)
void Preorder(Tree t);

//In ra gi tr cc nt ca cy theo th t duyt cy hu th t(postorder)


void Postorder(Tree t);
Bi 2. nh ngha cu trc mt cu nh phn nh di y:

struct Node{
int data;
Node *left;
Node *right;
};
typedef struct BinaryTreeADT *BinaryTree;
struct BinaryTreeADT{
Node *root;
};
Ci t cc hm di y. Lu , bn cn phi tm mt cch kim tra cc hm bn ci
t.
// To mt cy nh phn t mt tp tin m trong tt c cc s nm trn mt dng v
cch nhau bi du cch theo th t duyt cy trung th t (inorder)
BinaryTree createTree(char *filename);
//In ra gi tr tt c cc nt ca cy theo th t duyt cy theo mc (levelorder)
void TraversalLevel(BinaryTree t);

// Tr li true nu cy nh phn t c cy con tri, tr li false nu cy nh phn t khng c


// cy con tri
bool hasLeft(BinaryTree t)
// Tr li true nu cy nh phn t c cy con phi, tr li false nu cy nh phn t khng c
// cy con phi
bool hasRight(BinaryTree t)
// Tr li cy con tri nu c ca cy nh phn t, nu khng, tr li NULL
BinaryTree Left(BinaryTree t);

//Tr li cy con phi ca cy nh phn t nu c, nu khng, tr li NULL


BinaryTree Right(BinaryTree t)

You might also like