為什么用map會比用long long一維陣列的耗時長啊
剛剛交一道題,只是把map改為了陣列,耗時從2s到0.12s
還有應該什么時候用map比較好啊(我只知道在一組n個數中,當n特別大,不能用一維陣列時需要用) 跪謝!!
uj5u.com熱心網友回復:
沒有不能用啊,你說的map是STL的map嗎?這個是類,用映射,肯定比單獨用數字慢。如果數字特別大,動態分配陣列就好了,如果動態的分配不了,那么就死機了。uj5u.com熱心網友回復:
因為map跟陣列的結構不同,map底層是樹狀結構,打個比方,定義了一個序列a,你要訪問a[10000],陣列的話首地址直接加10000*大小,一次就能訪問到,而map要一次一次的搜索,什么時候用map?不能用陣列的時候就用map,map的鍵值如果是正整數,當然還不如用陣列uj5u.com熱心網友回復:
嗷嗷嗷,我明白了,謝謝您
uj5u.com熱心網友回復:
之前做別的題的時候,同學說要是陣列特別大就用map,所以一遇到比較大的我就直接用map了????uj5u.com熱心網友回復:
map, hash_map, 主要是查找快,如果經常查找的話,用不著。別我稍微比較了下,hash_map比map查找要快2/3左右。
uj5u.com熱心網友回復:
嗷嗷嗷,好噠好噠,謝謝您!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/100317.html
標籤:C++ 語言
上一篇:opencv閾值處理--threshold函式、自適應閾值處理、Otsu處理(大津法)
下一篇:pyagme 影像/圖形繪制
