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 三仙) | 理由: 因为您的参与,让程式设计更容易!! | |
|
|
|