Re: [情報] Lecture Notes #4 & 7 are now online

作者: ric2k1 (Ric)   2012-10-29 17:52:15
※ 引述《ric2k1 (Ric)》之銘言:
: Lecture note #4 is about STL.
補充一下,
HW#3 關於 map 的使用方式,大家可以看一下這份講義的後面幾頁,
一些例子看過後應該會比較有概念。
簡單的說,你必須要知道:
1. 怎麼 traverse 過所有 map 裡面的 element? 怎麼抓到資料?
==> iterator or const_iterator, class pair, (*mi).second, etc.
2. 怎麼知道 (key, data) 有沒有在 map 裏頭?
==> if (m.find(key) != m.end())...
3. 怎麼插入資料到 map 裏頭?
==> m.insert(pair(key, data)) 與 m[key] = data 的差別
4. 怎麼清掉 map 裏頭所有的資料?
==> 自己 google!!
作者: XDucka (Duck)   0000-00-00 00:00:00
我發現我找data都是用 if(m.count(key)>0) 這樣是不是變成他一定要整個map都跑過一遍 所以大O就不是logN了
作者: ric2k1 (Ric)   0000-00-00 00:00:00
倒是沒有看過用 count(key) > 0 的,不過 count 應該也是log N 吧!
作者: TommyKSHS (湯米)   0000-00-00 00:00:00
因為是紅黑樹所以 count 可以做到 logN 喔
作者: XDucka (Duck)   0000-00-00 00:00:00
原來map是紅黑樹阿XDm.insert(pair(key, data)) 與 m[key] = data 的差別 是在於一個不能覆蓋已經有key的資料一個可以嗎
作者: ric2k1 (Ric)   0000-00-00 00:00:00
是的! 一個不能,一個一定會覆蓋/或產生新的 entry。

Links booklink

Contact Us: admin [ a t ] ucptt.com