2021考研計算機復習備考:依據(jù)先序后序生成二叉樹
計算機類專業(yè)長期以來被認為薪資高、就業(yè)面廣,如今競爭日趨激烈。想要更好的復習準備計算機,對于知識點的練習是日常復習必不可少的。小編整理2021考研計算機復習備考知識:依據(jù)先序后序生成二叉樹,希望對大家的復習能有所幫助。
題目:已知二叉樹的先序遍歷序列和后序遍歷序列,試編寫生成該二叉樹的算法。
思路:先序 pre = DLR,后序 post = LRD,D表示根結點,L表示左子樹,R為右子樹。
從先序出發(fā):取先序的第一個元素pre[0]做根,第二個元素pre[1]做左子樹的根(不確定也可能是右子樹的根,但是先序是根左右,先認為它是左子樹的根),然后去后序序列找pre[1]這個元素的下標位置i,在后序序列里,下標i到最后一個元素間沒有元素,說明這個樹只有一個子樹(可以是左子樹或右子樹);有元素,那這段序列是右子樹,下標i往前到post[0]是左子樹。對左子樹和右子樹分別再這樣分出根、左子樹和右子樹。
算法:
def func(pre[],post[]) {
int index = 0;
if(length(pre) == 0) return NULL;
node = BinTnode(pre[0]);
if(length(pre) == 1) return node;
while (pre[1] != post[index]){
index=index+1;
}
node->left = func(pre[1:index+1],post[0:index]);
node->right = func(pre[index+2:n],post[index+1:n-1]);
return node;
}
思考:或者從后序出發(fā):取后序最后一個元素做根,倒數(shù)第二個元素是右子樹的根A,去先序序列里找這個A的下標,這個下標往后的先序序列是右子樹,往前到pre[1]是左子樹,其他思路同上。
(注:本文來自網(wǎng)絡,如有侵權,請聯(lián)系刪除)
2022考研初復試已經(jīng)接近尾聲,考研學子全面進入2023屆備考,跨考為23考研的考生準備了10大課包全程準備、全年復習備考計劃、目標院校專業(yè)輔導、全真復試模擬練習和全程針對性指導;2023考研的小伙伴針也已經(jīng)開始擇校和復習了,跨考考研暢學5.0版本全新升級,無論你在校在家都可以更自如的完成你的考研復習,暑假集訓營帶來了院校專業(yè)初步選擇,明確方向;考研備考全年規(guī)劃,核心知識點入門;個性化制定備考方案,助你贏在起跑線,早出發(fā)一點離成功就更近一點!
考研院校專業(yè)選擇和考研復習計劃 | |||
2023備考學習 | 2023線上線下隨時學習 | 34所自劃線院??佳袕驮嚪謹?shù)線匯總 | |
2022考研復試最全信息整理 | 全國各招生院校考研復試分數(shù)線匯總 | ||
2023全日制封閉訓練 | 全國各招生院??佳姓{劑信息匯總 | ||
2023考研先知 | 考研考試科目有哪些? | 如何正確看待考研分數(shù)線? | |
不同院校相同專業(yè)如何選擇更適合自己的 | 從就業(yè)說考研如何擇專業(yè)? | ||
手把手教你如何選專業(yè)? | 高校研究生教育各學科門類排行榜 |
相關推薦
跨考考研課程
班型 | 定向班型 | 開班時間 | 高定班 | 標準班 | 課程介紹 | 咨詢 |
秋季集訓 | 沖刺班 | 9.10-12.20 | 168000 | 24800起 | 小班面授+專業(yè)課1對1+專業(yè)課定向輔導+協(xié)議加強課程(高定班)+專屬規(guī)劃答疑(高定班)+精細化答疑+復試資源(高定班)+復試課包(高定班)+復試指導(高定班)+復試班主任1v1服務(高定班)+復試面授密訓(高定班)+復試1v1(高定班) | |
2023集訓暢學 | 非定向(政英班/數(shù)政英班) | 每月20日 | 22800起(協(xié)議班) | 13800起 | 先行階在線課程+基礎階在線課程+強化階在線課程+真題階在線課程+沖刺階在線課程+專業(yè)課針對性一對一課程+班主任全程督學服務+全程規(guī)劃體系+全程測試體系+全程精細化答疑+擇校擇專業(yè)能力定位體系+全年關鍵環(huán)節(jié)指導體系+初試加強課+初試專屬服務+復試全科標準班服務 |