考研計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)之二叉樹_跨考網(wǎng)
??? 二叉樹是數(shù)據(jù)結(jié)構(gòu)中的重點(diǎn)內(nèi)容,在這兩年的考試中也將二叉樹作為重點(diǎn)內(nèi)容來考查。二叉樹這部分內(nèi)容要求大家掌握二叉樹的定義、性質(zhì)、存儲結(jié)構(gòu)、遍歷、線索化、森林和二叉樹的轉(zhuǎn)換等內(nèi)容。算法的重點(diǎn)是二叉樹的遍歷及其應(yīng)用,這也是二叉樹這部分的重點(diǎn)和難點(diǎn)。遍歷是二叉樹各種操作的基礎(chǔ),可以在遍歷過程中對結(jié)點(diǎn)進(jìn)行各種操作。例如:求二叉樹結(jié)點(diǎn)總數(shù),建立二叉樹,建立二叉樹的存儲結(jié)構(gòu)等。二叉樹的很多算法是在遍歷算法基礎(chǔ)上改造完成的,這就要求大家在復(fù)習(xí)時(shí),熟練掌握二叉樹遍歷的遞歸和非遞歸算法。
下面,跨考考研編輯組介紹一下二叉樹的幾種遍歷方法:
由二叉樹的定義可知,一顆二叉樹由根節(jié)點(diǎn)及左、右子樹三個(gè)基本部分組成,因此,只要依次遍歷這三部分,就可以遍歷整個(gè)二叉樹。
1.先序遍歷
先序遍歷的遞歸過程為:若二叉樹為空,遍歷結(jié)束。否則,
?。?)訪問根節(jié)點(diǎn);
(2)先序遍歷根節(jié)點(diǎn)的左子樹;
?。?)先序遍歷根節(jié)點(diǎn)的右子樹。
2.中序遍歷
中序遍歷的遞歸過程為:若二叉樹為空,遍歷結(jié)束。否則,
?。?)中序遍歷根節(jié)點(diǎn)的左子樹;
(2)訪問根節(jié)點(diǎn);
(3)中序遍歷根節(jié)點(diǎn)的右子樹。
3.后序遍歷
后序遍歷的遞歸過程為:若二叉樹為空,遍歷結(jié)束。否則,
(1)后序遍歷根節(jié)點(diǎn)的左子樹;
(2)后序遍歷根節(jié)點(diǎn)的右子樹;
(3)訪問根節(jié)點(diǎn)。
層次遍歷
二叉樹的層次遍歷,是指從二叉樹的第一層(根結(jié)點(diǎn))開始,從上至下逐層遍歷,在同一層中,則按從左到右的順序?qū)Y(jié)點(diǎn)逐個(gè)訪問。在進(jìn)行層次遍歷時(shí),對一層結(jié)點(diǎn)訪問完后,再按照它們的訪問次序?qū)Ω鱾€(gè)結(jié)點(diǎn)的左孩子和右孩子順序訪問,這樣一層一層進(jìn)行,先遇到的結(jié)點(diǎn)先訪問,這與隊(duì)列的操作原則比較吻合。因此,在進(jìn)行層次遍歷時(shí),可設(shè)置一個(gè)隊(duì)列結(jié)構(gòu),遍歷從二叉樹的根結(jié)點(diǎn)開始,首先將根結(jié)點(diǎn)指針入隊(duì)列,然后從對頭取出一個(gè)元素,每取一個(gè)元素,執(zhí)行下面兩個(gè)操作:
?。?)訪問該元素所指結(jié)點(diǎn);
(2)若該元素所指結(jié)點(diǎn)的左、右孩子結(jié)點(diǎn)非空,則將該元素所指結(jié)點(diǎn)的左孩子指針和右孩子指針順序入隊(duì)。
此過程不斷進(jìn)行,當(dāng)隊(duì)列為空時(shí),二叉樹的層次遍歷結(jié)束。
下面大家來看二叉樹遍歷這部分在考試中常考題型
1.由二叉樹的兩個(gè)遍歷序列的組合(先序序列和中序序列)、(中序序列和后序序列)、(層次序列和中序序列)構(gòu)造該二叉樹或求其他遍歷序列是一種常見的題型。需要注意的是已知二叉樹的先序序列和后序序列不能唯一確定該二叉樹。
2.以遍歷為基礎(chǔ)的二叉樹算法設(shè)計(jì)是考試的重點(diǎn)和難點(diǎn)。常見的試題有以下幾類:
?。?)基于二叉樹遍歷的遞歸算法
這類題目的特點(diǎn)是直接根據(jù)三種遞歸算法改寫,修改訪問語句來實(shí)現(xiàn)。例如:求二叉樹的結(jié)點(diǎn)個(gè)數(shù)。
(2)基于二叉樹層次遍歷的算法
這類題目有求二叉樹的高度,求二叉樹最大寬度等。
(3)基于順序存儲的二叉樹遍歷算法
例如:求順序存儲的滿二叉樹中序遍歷的非遞歸算法。
(4)其他二叉樹遍歷算法
例如:左、右子樹交換等。
大家要重點(diǎn)掌握這些以遍歷為基礎(chǔ)的二叉樹算法題目,這就要求大家多做練習(xí),通過習(xí)題訓(xùn)練加深理解,掌握解題思路和技巧,提高解題能力。針對以上幾種算法題,大家可通過計(jì)算機(jī)學(xué)科專業(yè)基礎(chǔ)綜合輔導(dǎo)講義同步練習(xí)來準(zhǔn)備相應(yīng)的練習(xí)題并配有詳細(xì)的解答,掌握此部分內(nèi)容。
另外,現(xiàn)在大家開始沖刺復(fù)習(xí)了,選擇一本涵蓋全面、與真題題型一致、題目難度和真題難度高度相近,并對這兩年的考試試題進(jìn)行了詳細(xì)分析的全真模擬試題集,是此時(shí)沖刺的最佳幫手,可以幫助你查缺補(bǔ)漏,顯著提高應(yīng)試能力。
?
2022考研初復(fù)試已經(jīng)接近尾聲,考研學(xué)子全面進(jìn)入2023屆備考,跨考為23考研的考生準(zhǔn)備了10大課包全程準(zhǔn)備、全年復(fù)習(xí)備考計(jì)劃、目標(biāo)院校專業(yè)輔導(dǎo)、全真復(fù)試模擬練習(xí)和全程針對性指導(dǎo);2023考研的小伙伴針也已經(jīng)開始擇校和復(fù)習(xí)了,跨考考研暢學(xué)5.0版本全新升級,無論你在校在家都可以更自如的完成你的考研復(fù)習(xí),暑假集訓(xùn)營帶來了院校專業(yè)初步選擇,明確方向;考研備考全年規(guī)劃,核心知識點(diǎn)入門;個(gè)性化制定備考方案,助你贏在起跑線,早出發(fā)一點(diǎn)離成功就更近一點(diǎn)!
考研院校專業(yè)選擇和考研復(fù)習(xí)計(jì)劃 | |||
2023備考學(xué)習(xí) | 2023線上線下隨時(shí)學(xué)習(xí) | 34所自劃線院校考研復(fù)試分?jǐn)?shù)線匯總 | |
2022考研復(fù)試最全信息整理 | 全國各招生院??佳袕?fù)試分?jǐn)?shù)線匯總 | ||
2023全日制封閉訓(xùn)練 | 全國各招生院校考研調(diào)劑信息匯總 | ||
2023考研先知 | 考研考試科目有哪些? | 如何正確看待考研分?jǐn)?shù)線? | |
不同院校相同專業(yè)如何選擇更適合自己的 | 從就業(yè)說考研如何擇專業(yè)? | ||
手把手教你如何選專業(yè)? | 高校研究生教育各學(xué)科門類排行榜 |
相關(guān)推薦
跨考考研課程
班型 | 定向班型 | 開班時(shí)間 | 高定班 | 標(biāo)準(zhǔn)班 | 課程介紹 | 咨詢 |
秋季集訓(xùn) | 沖刺班 | 9.10-12.20 | 168000 | 24800起 | 小班面授+專業(yè)課1對1+專業(yè)課定向輔導(dǎo)+協(xié)議加強(qiáng)課程(高定班)+專屬規(guī)劃答疑(高定班)+精細(xì)化答疑+復(fù)試資源(高定班)+復(fù)試課包(高定班)+復(fù)試指導(dǎo)(高定班)+復(fù)試班主任1v1服務(wù)(高定班)+復(fù)試面授密訓(xùn)(高定班)+復(fù)試1v1(高定班) | |
2023集訓(xùn)暢學(xué) | 非定向(政英班/數(shù)政英班) | 每月20日 | 22800起(協(xié)議班) | 13800起 | 先行階在線課程+基礎(chǔ)階在線課程+強(qiáng)化階在線課程+真題階在線課程+沖刺階在線課程+專業(yè)課針對性一對一課程+班主任全程督學(xué)服務(wù)+全程規(guī)劃體系+全程測試體系+全程精細(xì)化答疑+擇校擇專業(yè)能力定位體系+全年關(guān)鍵環(huán)節(jié)指導(dǎo)體系+初試加強(qiáng)課+初試專屬服務(wù)+復(fù)試全科標(biāo)準(zhǔn)班服務(wù) |