给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)
生活随笔
收集整理的這篇文章主要介紹了
给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
給定一個n節(jié)點的二叉樹,寫出一個O(n)時間非遞歸過程,將該樹每個節(jié)點關(guān)鍵字輸出,可以使用一個棧作為輔助數(shù)據(jù)結(jié)構(gòu)
(算法導(dǎo)論第十章10.4-3)
template<typename T> void TraverseBinaryTreeIndexByStack(const BinaryTreeNodeIndex<T>* array,const BinaryTreeNodeIndex<T>& root) {Stack<BinaryTreeNodeIndex<T>> stack;stack.push(root);while (!stack.empty()){BinaryTreeNodeIndex<T> current = stack.pop();std::cout<<current.key<<" ";if(current.left!=-1){stack.push(array[current.left]);}if(current.right!=-1){stack.push(array[current.right]);}}}輔助類
1??BinaryTreeNodeIndex
地址鏈接
2??Stack
地址鏈接
測試代碼
總結(jié)
以上是生活随笔為你收集整理的给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 库克:从未将乔布斯视为竞争对手,如果他还
- 下一篇: 首销购机四年电池包换,OPPO Reno