Mivel a bináris fa alább látható, meghatározza a sorrendet, amelyben a csomópontok a bináris fa alábbi látogatott feltételezve, hogy a függvény A (root) hivatkoznak. Tegyük fel, hogy a fa csomópontok és mutatók meghatározása a látható. Tegyük fel, hogy a root egy mutató a csomópont tartalmazó 60. A válaszom erre a problémára az alábbiakban közöljük. Ez a helyes? Mit csináltam rosszul?
60
/ \
30 90
/ \ /
5 38 77
\ / / \
8 32 62 88
struct treeNode{
int data;
struct treeNode *left, *right:
{
struct treeNode *tree_ptr;
void A(struct treeNode *node_ptr){
if (node_ptr != NULL){
printf(“%d ,”,node_ptr->data);
B(node_ptr->left);
B(node_ptr->right);
}
}
void B(struct treeNode *node_ptr){
if (node_ptr != NULL) {
A(node_ptr->left);
printf(“%d ,”,node_ptr->data);
A(node_ptr->right);
}
}
Válasz: A void A azt mondja, hogy az első nyomat node_ptr-> adatokat, így 60 lett nyomtatva, akkor a függvény hívások B (node_ptr-> balra), majd a B, A hívódik (node_ptr-> balra), akkor nyomtasson, hogy az adatok, amely 5 ., majd egy (node_ptr-> jobbra) hívódik visszamenni az a, nyomtatási, hogy az adatok, így a 8. lett nyomtatva. Most Im nem biztos, hogy mi a teendő, de kapok logikusan érdemes lenne kinyomtatni 30, de nem vagyok biztos benne, hogy a ptr kap 8 és 30. És akkor, ha továbbra is ugyanazt a mintát 38 lett nyomtatva és 32. lett nyomtatva. A jobb oldali részfa ... 90 77 62 88













