kurtislin (林建寬)
簡介
2025 Linux 核心設計/實作 春季班 自我評量
成果發表和貢獻
2分
修正Linux 核心的鏈結串列排序對於 merge sort variants 的領導係數的描述
原本的內容是:
對於比較次數的探討,我們可寫成以下形式: \[n\log_2 n - Kn + O(1)\] 其中,以下 merge sort 的變形 (variants),領導係數 (leading coefficient) 皆為 \(\log_2(n!)\),探討的著重點在於一次項係數 \(K\)。
但領導係數的意思應該是主導項的係數 是\(n\log_2 n\) 中的 1 而不是 \(\log_2(n!)\) , \(\log_2(n!)\)是在排序時所需的最低次數 他相當於 \(n\log_2 n - 1.4427n + O(1)\)
作業/隨堂測驗
3分
作業一: lab0
期末專題
3分
我先去閱讀 Commit b5c56e0 看作者針對了哪個部分去做優化,同時如何去維持 list_sort.c 原本就有的優點,還有他是怎麼去實作出他的想法
我接著去看論文了解其中的的演算法和 list sort 的效能關聯 , 有哪些重要的數據值得關注
最後去做測試驗證不同演算法的差異
與授課教師的互動
3分
- 一對一討論 (2025/6/24)
在一對一討論我和老師去討論在剩餘的十天可以做出來什麼東西,我和老師說我正在去閱讀 linux list sort 的 Commit b5c56e0
老師接著就問我為什麼 linux list sort 要採用bottom up , 我當時的回答在扯什麼因為他們的比較次數會有週期性的變化,但老師提醒我說以後在面試的場合千萬不能這樣回覆,要清楚的回答我自己的理解且有效的回覆問題,我應該要講說為什麼不能採取 top down , 用他的話會有什麼風險
所見所聞所感
3分
在研究 Commit b5c56e0 時,體會到這個看似簡單的 commit 竟然包含了許多細節,而且考慮了很多東西,讓我了解到要成為優秀的工程師需要去擁有深度的技術理解能力、系統性能考量,以及將理論轉化為實務的核心素養
而且做這個專題讓我第一次去看論文,我體會到就算是在論文中可能還是會有誤的地方,而且裡面的有些內容背後包含了很多知識,但在論文裡面會省略掉,所以要去吸收其他知識去理解,缺什麼補什麼 在設計實驗的部份要考慮的東西有很多,要排除干擾因素,還有要用什麼測試資料去測試 等等的東西
看完 因為自動飲料機而延畢的那一年 作者說「這個世界比任何人都殘酷,也比任何人都公平,犧牲了多少就會得到多少。飲料機現在能做到的事,就只是付出犧牲的結果罷了。」 我體會到要達成目標就必須付出相應的努力,但我在這堂課的投入程度,距離成為合格工程師的目標還遠遠不夠。
自我評量
方案 B :\(1 + floor(GEOMEAN) = 1 + floor(2.766) = 3\)
