1. 函式T(n)定義為: n為非負整數,請回答下列問題: (一)請計算T(5)的值? (二)請用遞迴函式寫出計算T(n)的虛擬程式碼(pseudo code)。 (三)假設您的程式為recursiveT(n),請問執行recursiveT(5)時共呼叫幾次recursiveT(n)函式?
2. 有關二元搜尋(binary search)法,一已排序陣列(array)如下: A=[1 3 9 12 24 25 34 55 76 77 79 92 93 95 99],索引(index)為0~14: (一)請寫出二元搜尋有序陣列之虛擬程式碼,找到目標值時回傳其在陣列中之索引值,找不到時回傳-1。 (二)在A中搜尋8時,請問依序須比較哪些元素? (三)請用A的元素,以55為根,畫出一個二元搜尋樹,須為圓滿樹(full complete tree)。
3. (一)下列是一個Visual Basic的程式片段,如果程式執行時使用者輸入144,則程式執行的結果為何? Module Module 1 Sub Main() Console.Write("請輸入n:") Dim a, b As Integer a=Console.ReadLine() b=2 While (a>=b) If (a Mod b=0) Then Console.Write(b & ",") a=a/b Else b+=1 End If End While Console.ReadLine() End Sub End Module (二)請判斷下列Visual Basic程式執行後,X、Y、I、J的值各為多少? Module Module 1 Sub Main() Dim X=10, Y=20 Call MysubPro(X,Y) Console.WriteLine("X=" & X) Console.WriteLine("Y=" & Y) Console.ReadLine() End Sub Sub MySubPro(ByRef I, ByVal J) I=J/I J=I+5 Console.WriteLine("I=" & I) Console.WriteLine("j=" & J) End Sub End Module