二叉树层次遍历
可以通過求第K層的結點,但是反復遞歸時間復雜度很高
可以通過隊列來實現
void LevelTraverse(BiTNode * pRoot) { if(pRoot == NULL) return; queue<BiTNode *> q; q.push(pRoot); while(!q.empty()) { BiTNode * pNode = q.front(); q.pop(); cout<<pNode->data << endl; // 訪問節點 if(pNode->lchild != NULL) q.push(pNode->lchild); if(pNode->rchild != NULL) q.push(pNode->rchild); } return; }?
轉載于:https://www.cnblogs.com/liuweilinlin/p/3286280.html
總結
- 上一篇: 深入Java虚拟机读书笔记第五章Java
- 下一篇: poj 3074