資料結構 樹 思考題3

2021-10-04 01:12:51 字數 1581 閱讀 9534

浙江大學 資料結構 思考題+每週練習答案彙總

題目1:給出下面這棵樹的中序遍歷結果

根據中序遍歷的程式:

我們可以看到它先不斷往左遍歷,然後在分叉處到根節點,再往右邊遍歷:

首先到b,然後因為b的左邊什麼都沒有,所以再返回到b,列印b

然後再到d,列印d,然後再到a。之後遍歷右邊,分別依次輸出e和c

即最後結果:bdaec

題目2:非遞迴方法中序遍歷下面這顆二叉樹,其堆疊操作序列(p代表為push,o代表為pop)是什麼?

首先a進棧(p),然後b進棧(p),然後再往左邊走,沒有東西了,所以b出棧(o)

然後b往右邊走,d進棧(p),沒有東西了,d出棧(o)……

最後的操作順序:ppopooppoo

題目3:已知有顆5個結點的二叉樹,其前序遍歷序列是a????,中序遍歷序列是a????,可以斷定:

因為前序遍歷的第乙個點是根節點,中序遍歷的根節點在左子樹的右邊,該樹沒有左子樹。選a

題目4:假定只有四個結點a、b、c、d的二叉樹,其前序遍歷序列為abcd,則下面哪個序列是不可能的中序遍歷序列?

a為根節點。

選項a有可能:

選項b有可能:

選項c有可能:

而選項d,分析一下,首先根據中序,a在中間,所以左子樹的節點只有乙個d,而右子樹節點是b和c,但問題是根據前序遍歷的規則,列印出a以後應該接著列印b,但是若d在左子樹,b在右子樹,則前序遍歷不可能先列印出b再列印出d,所以這種情況不可能。

題目5:對於二叉樹,如果其中序遍歷結果與前序遍歷結果一樣,那麼可以斷定該二叉樹________

首先我們知道如果中序和前序一樣,則每個子樹的根節點都是先被列印的,所以每個根節點都沒有左子樹。

選b題目6:已知一二叉樹的後序和中序遍歷的結果分別是fdebgca 和fdbeacg,那麼該二叉樹的前序遍歷結果是什麼?

後序的最後乙個節點是a,則樹根節點是a。

根據中序結果,a前面是左子樹,即fdbe,後面是右子樹cg

然後再對左子樹進行剖析,b為左子樹的根節點,左子樹的左子子樹是fd,d為根節點,因為中序遍歷先列印了f,所以f為左子樹。

又因為中序先列印了c再列印了g,所以g是右子樹

樹用圖表示為:

前序遍歷的結果為: abdfecg

資料結構 樹 思考題 5

浙江大學 資料結構 思考題 每週練習答案彙總 題目1 有個堆其元素在陣列中的序列為 58,25,44,18,10,26,20,12。如果呼叫deletemax函式刪除最大值元素,請猜猜看 程式中的for迴圈剛退出時變數parent的值是多少?首先child 2,然後判斷座標為2的和child 1 3...

資料結構 排序 思考題1

題目1 對於7個數進行氣泡排序,最壞情況下需要進行的比較次數為 第一輪冒泡,索引 1 的數與索引 2 的數比較,2與3比較 6與7比較,比較6次。第二輪就是5次。以此類推,到最後一輪只有乙個數的時候不進行比較,是0次。6 5 4 3 2 1 0 21 題目二 給定初始序列,氣泡排序和插入排序分別需要...

機器學習思考題目 06決策樹

本文直譯自 hands on ml 課後題。有改動的以 表示 一棵勻稱 well balanced 的二叉樹,如果共有m個葉子,則它的深度為log2 m 取整 一棵二元決策樹 binary decision tree 訓練結束時,或多或少平衡,每個葉子代表乙個樣本 訓練時沒有限制的情況下 因此如果包...