WindinCloud
|
分享:
▲
▼
我覺得你應該是要考慮資料的封裝性而不是效能(其實我不懂你是想要要求啥效能)
舉例來說 你有下面這些資料
姓名 國文分數 英文分數 ================= a 100 40 b 30 30 c 50 80
若你分開排的話那你會變成 姓名 國文分數 英文分數 ================= a 30 30 b 50 40 c 100 80
這樣應該不是你要的吧~ 所以要是資料有相關的~ 請優先考慮封裝性
接下來討論效能問題 你是想討論排序速度嘛? 若是的話 那來看看它的分析 若採用比較的方式來做為你演算法基礎的話 你最快大概就是quick sort => O(nlgn) 你獨立去排序 那就會是m*O(nlgn) m表你要排的資料項目數
若你封裝後對它排序,每個項目都要排到 那還是m*O(nlgn) m表你要排的資料項目數
所以效能來說沒變~ 但是整體結果~ 後者應該會比前者正確
在來比較記憶體使用 封裝與不封裝差在哪? 我想應該就是記憶體內對齊的問題(這太深了不予討論) 不過一般來說也不會大過幾個byte 以現在RAM這樣大~ 封裝比不封裝頂多差上n*b個byte b表示對齊後與不封裝相差的byte數 所以這也可以不用看了~
所以結論 請先看 "資料封裝性" 先
此文章被評分,最近評分記錄財富:50 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!! | |
|
|
|