題目要求寫演算法,就必須要寫輸入與輸出
如果是要求寫程序和程式碼,則不用寫輸入與輸出
但是程序需要把程序的回傳型態、名字和參數標示清楚
題目要求寫時間複雜度,一定要寫成O(n)這種形式,不要只寫n而已
每題演算法的輸入與輸出都是佔1分
每題有錯的一個地方都是扣1分,直到扣到該題的總分為止
第一題:
期中考考過,改較嚴
當時期中考改完後,我有貼一份批改說明
不過當時的錯誤依舊出現於期末考中...
線性搜尋有一個較嚴重的問題是
如果在資料中全部找一遍,沒有找到才會return -1;或output-1;
但是有不少同學是這樣寫
for(i=0; i<n; i++)
{
if(data[i] == x) return i;
else return -1;
}
會造成一個情況是,如果找第一筆資料不是x就會馬上return
不過看起來那份批改說明應該沒啥人看...
第二題:
前、中、後序的轉換,錯一個符號就全錯,因為答案很固定
第三題:
正確與否是1分,解釋是1分
解釋要詳細提到c與n0或是c1、c2與n0是多少
第四題:
題目有提到是寫「程序」,還有需要回傳串接完的串列指標
沒寫清楚的會扣一些分數
第五、六、七題:
關於空節點部分的題目,需要寫到把一個struct node*的變數用實體記憶體空間new出來
只是這個變數的data是-1或者是未給data值也可以
第八題:
都答得不錯