樹是一種重要的非線性數(shù)據(jù)結(jié)構(gòu),二叉樹是樹型結(jié)構(gòu)的一種重要類型。本學(xué)年論文介紹了二叉樹的定義,二叉樹的存儲結(jié)構(gòu),二叉樹的相關(guān)術(shù)語,以此引入二叉樹這一概念,為展開二叉樹的基本操作做好理論鋪墊。二叉樹的基本操作主要包含以下幾個模塊:二叉樹的遍歷方法,計算二叉樹的結(jié)點個數(shù),計算二叉樹的葉子結(jié)點個數(shù),二叉樹深度的求解等內(nèi)容。
創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、微信小程序、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十載以來,已經(jīng)為上千效果圖設(shè)計各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的上千客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。前序遍歷(遞歸&非遞歸)
//前序非遞歸 void PrevOrder() { stacks; Node *cur = _root; while (cur || !s.empty()) { while (cur) { cout << cur->_data << " "; s.push(cur); cur = cur->_left; } //此時當前節(jié)點的左子樹已遍歷完畢 Node *tmp = s.top(); s.pop(); cur = tmp->_right; } cout << endl; } //前序遞歸 void PrevOrderR() { _PrevOrder(_root); cout << endl; } void _PrevOrder(Node *root) { if (root == NULL) //必須有遞歸出口?。?! return; cout << root->_data << " "; _PrevOrder(root->_left); _PrevOrder(root->_right); }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。