題組內容
二、給予一個二元搜尋樹(Binary Search Tree)的後序追蹤(5、2、13、9、18、29、25、54、56
、48、35、16),請回答下列問題:
(二)請使用虛擬碼(Pseudo Code)寫出搜尋此樹的副程式(限以遞迴(Recursive)演算法寫出, 若有需要,亦須寫出假設或宣告變數及註解)。若要在第(一)小題的二元搜尋樹搜尋 29 這個節點,則須呼叫此遞迴函數幾次?(15 分)
詳解 (共 2 筆)
詳解
int n //n為待搜尋值
Function BST(現在節點){
if(n==現在節點){ //若待搜尋值等於現在節點 代表已找到 並結束程式
printf(“找到了” )
break
}else if(n<現在節點){ //若待搜尋值小於現在節點 代表尚未找到 往左子節點繼續遞迴尋找
Function BST(左子節點)
}else { //若待搜尋值大於現在節點 代表尚未找到 往右子節點繼續遞迴尋找
Function BST(右子節點)
}
}
詳解
