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