递归的返回怎么理解 递归的返回值是怎么回事?
递归的返回值是怎么回事?要理解递归,我们首先需要了解函数的嵌套调用,也就是说,要了解当一个函数调用另一个函数时系统会做什么。具体来说,就是运行堆栈的机制。P->left=addtree(P->
递归的返回值是怎么回事?
要理解递归,我们首先需要了解函数的嵌套调用,也就是说,要了解当一个函数调用另一个函数时系统会做什么。具体来说,就是运行堆栈的机制。P->left=addtree(P->left,w)//递归后,返回值如何返回到P->left?语句“addtree(P->left,w)”返回二叉树中新节点的指针。在本例中,单词“小于”父节点单词,因此它挂在父节点的左子树上。Treeprint是一个二叉树遍历函数。实际上,我们要理解函数的嵌套调用
不可能有返回值,返回值只是函数输出的一个方法
本质上没有区别,如果非要说有区别的话,因为递归是以消耗具有相同递归深度的堆栈空间为代价的。如果有返回值,堆栈空间将被消耗更多例如,如果返回值是100级递归中的32位整数,那么将消耗3200位的堆栈空间(请注意,堆栈空间消耗太多,而不是内存)。代码堆栈空间非常宝贵)