首先感謝這學期來同學的配合
目前在group上已有一份各細項成績的檔案
最終成績尚未公佈, 還會再做一些微調!
----------------------------------------------
期末考批改
第一題: 堆積排序
- 堆積排序演算法有部分給分
- 這大題普遍分數都不高, 原因是要"分析"時間複雜度, 而非只有寫出時間複雜度 (題目有寫要分析與說明)
第二題: 二元樹程序
- 有部分給分
- (a)小題寫中序走訪或後序走訪都會給分, 因為題目有bug
- 複製二元樹大部分人都沒拿到甚麼分數
第三題: 尤拉迴路
- 沒有部分給分, 因為答案都很固定
- 尤拉迴路重點是"邊"僅僅走過一次又"回到"原出發點
第四題: 問題解釋
- 課本上都有這兩個問題的定義, 會看情況給分
第五題: 漢米爾頓迴圈
- 畫出漢米爾頓迴圈沒有部分給分, 因為答案很固定
- 漢米爾頓迴圈重點是"除了原出發點之外的點"僅僅走過一次又"回到"原出發點
第三題和第五題可以說是能否拿到較佳分數的關鍵
因為沒有部分給分, 寫對可以多賺很多分數
第六題: 最小延展樹
- 由於時間複雜度只佔2分, 所以只有寫出時間複雜度即可拿到分數
- 課本和講義上都有答案
- 有同學填充題沒寫, 卻自行寫了Prim演算法, 基於題目規定我無法給你們分數
第七題: 最短路徑
- 由於時間複雜度只佔2分, 所以只有寫出時間複雜度即可拿到分數
- 課本和講義上都有答案
基本上寫演算法的題目就會有部分給分!
----------------------------------------------
就在改完期末考與第五次作業後
我有很深的感觸想跟各位分享
第五次作業改到心灰意冷
改到看程式碼即可推出介面的設計以及輸入什麼參數執行後會有什麼error
仔細看可將各位的第五次作業分成幾種版本
有一種版本
在亂數產生圖時,沒有使用srand(time(NULL));
如果我亂數產生五張圖 (產生圖的按鈕連點五次)
在這版本之下,這五張圖都長得一樣...
接著只要輸入V=3, 亂數範圍50, 還有另一個控制邊產生的參數25
有些同學的程式就會當掉 (不一定侷限於以上的參數)
不然就是輸出很怪異的結果
會輸出(3, xxxxx, 幾秒)
中間的xxxxx就是最小延展樹的邊加總
不覺得很奇怪嗎...?
V=3只有3個頂點,亂數範圍50
怎麼可能最終的最小延展樹的邊加總會破萬...
另一種版本
一樣有3個參數可以輸入
Label1上的文字顯示V=; Label2上的文字顯示w(e)=;
很明顯的後面都會有Edit1與Edi2供輸入參數
但是我測的時候卻發現很詭異的情況
為何輸入V=4, w(e)=25
亂數出來的圖卻有25個頂點?!
原因是Label擺反了 (或Edit擺反了)...
難道交之前都沒測過嗎...?
還有另一種版本
亂數產生的原圖不會顯示出來
沒有output原圖該如何檢查最小延展樹是不是對的?
這些細節...
難道交之前都不會發現嗎...?
改到蠻難過的耶...
還有作業命名錯誤、解壓後沒資料夾以及資料夾命名錯誤
到了最後的作業還是有出現
而且幾乎都是一樣的同學發生這情況...
既然各位不太把作業當一回事
我也不用這麼仔細的看
研究所同學知道我改作業會一份一份開程式碼看
我還被虧是瘋子
改完第五次作業之後
我就可想像到第六與第七次作業會是怎樣的情況
但又能怎樣呢?
第五次作業...認真抓抄襲
第六次作業...隨便抓抄襲
第七次作業...索性不抓了...
沒甚麼意義...
最終只留下了50分給抄襲的各位
評語我想也不必了...
這樣評分對自己認真寫程式的同學比較抱歉一點...
不過我相信你們在寫的過程一定有所收穫!
----------------------------------------------
以下是碎碎念時間
館長這學期跟我們碩一的說過一句話
"大一的程設課把一位不會寫程式的同學交成會寫程式, 是我的驕傲"
寫程式...其實沒有這麼難、無聊...
我在進入銘傳資工系時, 是一位完全沒寫過程式的人
大一經過館長的教導, 大二經過熊大的訓練, 大三被專研操
到現在一轉眼碩一也快結束了
還是繼續有在寫程式
當把困難的程式寫出來, 會有成就感!
我認為會寫程式是一位資工人必備的能力
我跟你們一樣都是一路上這樣走上來的
所以改到你們的作業會特別有感觸...
要珍惜可以練習寫這些程式的機會~ (鏈結串列在我一開始做專研時就用到了)
Anyway...
忠言逆耳吧...
雞排