廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5581 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
oven425 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x4 鮮花 x237
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] STL的問題
請問各位大大
假設說我有三個
vector<int>a
vector<int>b
vector<CString>
vector<CRect>
四個vector
..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



我的部落格
在 涅 貴 不 緇 , 曖 曖 內 含 光 。
柔 弱 生 之 徒 , 老 氏 誡 剛 強 。
行 行 鄙 夫 介 , 悠 悠 故 難 量 。
行 之 苟 有 恆 , 久 久 自 芬 芳 。
獻花 x0 回到頂端 [樓 主] From:APNIC | Posted:2009-05-26 15:57 |
WindinCloud
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我覺得你應該是要考慮資料的封裝性而不是效能(其實我不懂你是想要要求啥效能)

舉例來說 你有下面這些資料

姓名   國文分數   英文分數
=================
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 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [1 樓] From:未知地址 | Posted:2009-06-11 00:10 |
oven425 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x4 鮮花 x237
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

感謝大大個回覆
我之前的確觀念是偏頗了
我會好好的再想想看


我的部落格
在 涅 貴 不 緇 , 曖 曖 內 含 光 。
柔 弱 生 之 徒 , 老 氏 誡 剛 強 。
行 行 鄙 夫 介 , 悠 悠 故 難 量 。
行 之 苟 有 恆 , 久 久 自 芬 芳 。
獻花 x0 回到頂端 [2 樓] From:臺灣凱擘 | Posted:2009-06-11 22:02 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.033658 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言