91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

根據extended preOrder sequence建立二叉樹 三種遍歷的遞歸算法 三種遍歷的非遞歸算法 層順遍歷的非遞歸算法 樹深度 寬度 葉子數 節點數 度為1節點數的算法 樹的克隆 根據兩種順序建立二叉樹

資源截圖

代碼片段和文件信息

#include?
#include?

using?namespace?std;

typedef?struct?BinNode
{
????char?data;
????struct?BinNode?*lch?*rch;
}?BinNode;
//--------------------------------------------------------------------------
BinNode*?createTree_InPost(const?string&?inOrder?const?string&?PostOrder);
BinNode*?createTree_PreIn(const?string?preOrder?const?string&?inOrder);
void?display(BinNode*?t);
void?destroy(BinNode?*t);
//--------------------------------------------------------------------------
int?main()
{
????BinNode?*binNode;
????string?preOrder?inOrder?postOrder;
????//----------------------------------------------
????cout?<????cin?>>?inOrder?>>?postOrder;
????binNode?=?createTree_InPost(inOrder?postOrder);
????if(!binNode)
????{
????????cout?<????????exit(-1);
????}
????display(binNode);
????destroy(binNode);
????cout?<????//----------------------------------------------
????cout?<????cin?>>?preOrder?>>?inOrder;
????binNode?=?createTree_PreIn(preOrder?inOrder);
????if(!binNode)
????{
????????cout?<????????exit(-1);
????}
????display(binNode);
????destroy(binNode);
????//----------------------------------------------
????return?0;
}


BinNode*?createTree_InPost(const?string&?inOrder?const?string&?PostOrder)
{
????if?(inOrder.empty()?||?PostOrder.empty())
????????return?NULL;
????char?rootC?=?*(PostOrder.end()?-?1);?//find?the?root?node
????string::size_type?rootIndex?=?inOrder.find_first_of(rootC);
????string?leftMidIn?=?inOrder.substr(0?rootIndex);
????string?rightMidIn?=?inOrder.substr(rootIndex+1);
????string?leftLastIn;
????string?rightLastIn;
????string::const_iterator?curIter?=?PostOrder.begin();
????string::const_iterator?endIter?=?PostOrder.end();
????for?(;?curIter!=endIter;?++curIter)
????{
????????char?c?=?*curIter;
????????if?(leftMidIn.find_first_of(c)?!=?string::npos)
????????{
????????????leftLastIn.push_back(c);
????????}
????????else?if?(rightMidIn.find_first_of(c)?!=?string::npos)
????????{
????????????rightLastIn.push_back(c);
????????}
????}
????BinNode*?tree?=?new?BinNode;
????tree->data?=?rootC;
????tree->lch?=?createTree_InPost(leftMidIn?leftLastIn);
????tree->rch?=?createTree_InPost(rightMidIn?rightLastIn);
????return?tree;
}

BinNode*?createTree_PreIn(const?string?preOrder?const?string&?inOrder)
{
????if?(preOrder.empty()?||?inOrder.empty())
????????return?NULL;

????char?rootC?=?*preOrder.begin();
????string::size_type?rootIndex?=?inOrder.find_first_of(rootC);
????string?leftInOrder?=?inOrder.substr(0?rootIndex);
????string?rightInOrder?=?inOrder.substr(rootIndex+1);
????string?leftPreOrder?rightPreOrder;
????string::const_iterator?curIter?=?preOrder.begin();
????string::const_iterator?endIter?=?preOrder.end();
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4015??2012-10-16?11:28??createBinTree_twoOrder.cpp

?????文件??????10612??2012-10-30?15:40??createBiTree_preorder.cpp

-----------?---------??----------?-----??----

????????????????14627????????????????????2


評論

共有 條評論