浙江大學 資料結構 思考題+每週練習答案彙總
題目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 訓練結束時,或多或少平衡,每個葉子代表乙個樣本 訓練時沒有限制的情況下 因此如果包...