試卷征集
加入會(huì)員
操作視頻

小藍(lán)在學(xué)習(xí)二叉樹(shù)的遍歷時(shí),發(fā)現(xiàn)前序遍歷、中序遍歷和后序遍歷這三種遍歷方式都不能很好反映出節(jié)點(diǎn)間的父子關(guān)系,于是他自創(chuàng)了一種新的遍歷方式——“小藍(lán)遍歷”。其遍歷的順序如下:
(a)訪問(wèn)根節(jié)點(diǎn);(b)遍歷左子樹(shù)(若存在);(c)遍歷右子樹(shù)(若存在);(d)再次訪問(wèn)根節(jié)點(diǎn)。
可以發(fā)現(xiàn)在“小藍(lán)遍歷”中,二叉樹(shù)的每個(gè)節(jié)點(diǎn)都被訪問(wèn)了2次。例如,圖a中二叉樹(shù)的“小藍(lán)遍歷”為1-2-4-7-7-8-8-4-5-5-2-3-6-6-3-1。
菁優(yōu)網(wǎng)
請(qǐng)根據(jù)此背景,回答下列問(wèn)題:
(1)圖a中以節(jié)點(diǎn)2為根的子樹(shù)所對(duì)應(yīng)的“小藍(lán)遍歷”為
2-4-7-7-8-8-4-5-5-2
2-4-7-7-8-8-4-5-5-2
。
(2)小藍(lán)發(fā)現(xiàn)“小藍(lán)遍歷”可以直觀反映出節(jié)點(diǎn)的父子關(guān)系:在遍歷過(guò)程中子節(jié)點(diǎn)第一次訪問(wèn)時(shí)間要晚于父節(jié)點(diǎn),而第二次訪問(wèn)時(shí)間要早于父節(jié)點(diǎn)。于是小藍(lán)利用這種遍歷方式輸入一棵二叉樹(shù),并編程求解任意兩個(gè)節(jié)點(diǎn)之間的路徑。如圖b所示,節(jié)點(diǎn)5到節(jié)點(diǎn)8的路徑為5-2-4-8。
具體求解的過(guò)程如下:
a.分別求從根節(jié)點(diǎn)到兩個(gè)節(jié)點(diǎn)的路徑序列。圖b中到5的路徑序列為[1,2,5],到8的路徑序列為[1,2,4,8]。
b.從前往后刪除兩個(gè)序列的相同部分,并記錄最后一個(gè)相同節(jié)點(diǎn)。上述例子中兩個(gè)序列的相同部分為[1,2],最后一個(gè)相同節(jié)點(diǎn)為2。
c.將剩余部分和最后一個(gè)相同節(jié)點(diǎn)按順序拼接起來(lái)。上述例子中[5]、[2]和[4,8]拼接得到[5,2,4,8]。
請(qǐng)根據(jù)算法描述在橫線處填入合適的代碼。
菁優(yōu)網(wǎng)
(3)加框處代碼有誤,請(qǐng)予以改正。
(4)若輸入的二叉樹(shù)節(jié)點(diǎn)總數(shù)為n,則單次執(zhí)行path( ?。┖瘮?shù)的時(shí)間復(fù)雜度為
B
B
(單選,填字母)。
A.0(1)
B.0(n)
C.0(n2
D.0(2n

【答案】2-4-7-7-8-8-4-5-5-2;B
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:3引用:1難度:0.3
相似題
  • 1.公因數(shù)只有1的兩個(gè)非零自然數(shù),叫做互質(zhì)自然數(shù)。王老師編寫(xiě)了一個(gè)Python程序,程序的功能是隨機(jī)產(chǎn)生5個(gè)1到20之間的整數(shù),找出其中和最大的互質(zhì)數(shù)對(duì)。程序運(yùn)行界面如圖所示:
    菁優(yōu)網(wǎng)
    實(shí)現(xiàn)該功能的程序代碼如下:
    菁優(yōu)網(wǎng)
    請(qǐng)回答下列問(wèn)題:
    (1)尋找互質(zhì)數(shù)對(duì)的算法屬于
     
    (選填:枚舉/解析)算法。
    (2)如產(chǎn)生的 5 個(gè)隨機(jī)數(shù)是[20,16,12,6,14],則程序輸出內(nèi)容是
     
    。
    (3)要實(shí)現(xiàn)程序的功能,請(qǐng)完善橫線處的代碼。

    發(fā)布:2024/12/20 18:0:1組卷:3引用:1難度:0.4
  • 2.小紅用Python編寫(xiě)程序畫(huà)出了如圖形,在第三行下劃線處應(yīng)該填寫(xiě)( ?。?br />菁優(yōu)網(wǎng)

    發(fā)布:2024/12/18 11:0:1組卷:2引用:1難度:0.6
  • 3.【加試題】小丫覺(jué)得回文字符串太優(yōu)美了(回文字符串是指順讀和倒讀都一樣的字符串,如“123321”),為此編寫(xiě)了VB 程序。程序運(yùn)行時(shí),單擊按鈕Command1 后,根據(jù)文本框Text1 中輸入的內(nèi)容判斷并輸出是不是回文串。實(shí)現(xiàn)上述功能的VB 代碼如下。
    Private Sub Command1_Click(  )
    Dim s As String,f As Boolean,L As Integer
    s=Text1.Text
    j=Len(s)
    i=1
    Do while?、?/bdo>
    i=i+1
    j=j-1
    Loop
    If ②Then Print“是回文串“Else Print“不是回文串“
    End Sub
    在畫(huà)線處填入合適代碼,使程序能正常運(yùn)行。
     

     

    發(fā)布:2024/12/19 14:30:2組卷:0引用:1難度:0.4
小程序二維碼
把好題分享給你的好友吧~~
APP開(kāi)發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱(chēng):菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶(hù)服務(wù)條款
本網(wǎng)部分資源來(lái)源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正