我不理解在下面的預序遍歷在預遍歷中如何實現遞歸?
void preorder(node*root)
{
if(root==NULL) return;
printf("%c",root->data);
preorder(root->left);
preorder(root->right);
}
遞歸是迭代:
序(200) - >序(150) - >序(400) - >序(250) - >預訂(0)
即預訂(root-> left),它是NULL,它返回到下一條指令 - >預訂(0)
即預訂(root-> right)它返回
現在我的問題是爲什麼不遍歷尾部尾部呃這一步我不理解遞歸有人可以解釋一步一步迭代之後,這個步驟遞歸看起來很簡單,但在實現它是非常複雜的。
ROOT[200]
200 F
/\
/ \
150 C 350 D
/\ /\
/ \ / \
400 E 450 F 60 G 700 H
/\ \
/ \ \
250 A 180 B 600 K
你的問題又是什麼?遞歸如何工作? – 2014-10-31 15:37:00
目前還不清楚你在問什麼。 – kraskevich 2014-10-31 15:38:21