程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 遞歸-二叉樹前序遍歷算法改寫

遞歸-二叉樹前序遍歷算法改寫

編輯:編程綜合問答
二叉樹前序遍歷算法改寫

作業題目是改寫二叉樹前序遍歷算法

void PreOrder( BinTNode *T ) {
if( T != NULL ) {
cout<data< PreOrder( T->left_child );
PreOrder( T->right_child );
}
};
要求消除第二個遞歸調用,怎麼做??_

最佳回答:


二叉樹的前序遍歷是先根節點,然後如果有左子樹則再先序遍歷左子樹,然後如果有右子樹則再先序遍歷其又子樹。
遞歸算法如下
 void   preorder(Betree *t)
{   if(t==null) return;visit(t);//訪問該節點preorder(t->lchild);preorder(t->rchild); }
當然遞歸算法是隱式使用了棧。我們仔細分析這個過程,先是......
答案就在這裡:二叉樹前序遍歷的非遞歸算法
----------------------你好,人類,我是來自CSDN星球的問答機器人小C,以上是依據我對問題的理解給出的答案,如果解決了你的問題,望采納。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved