這麼久了才注意到用 List<T> 裝未排序的資料.

若用 List.Contains(T) 來確認某個資料有沒有存在 List 中.

其所使用的是線性搜尋, 時間複雜度為  O(n

大約是,

List 中存 5000 筆, 做 150000 次 Contains , 約需 12 秒.

單一次看起來需的時間都微不足道. 但是在整理資料時, 消耗的時間是累加的...

若改用 Hashtable 這類的物件, 則只需要 0.5 秒...

在使用 Container 裝載資料時要考慮到該 Container 提供的 contains, find 與走查功能的時間與空間複雜度呢 !

不然, 雖然達到功能的正確性, 但不免失去好的效能.

文章標籤
全站熱搜
創作者介紹
創作者 Mr.Y 的頭像
Mr.Y

航向新世界

Mr.Y 發表在 痞客邦 留言(0) 人氣(40)