摘要:
红黑树是一种特殊的平衡二叉搜索树,为什么set、map的实现要采用红黑树? 为什么不用heap? set 、map都要求自动排序,heap也能实现自动排序啊,为什么不用heap? 我认为最重要的原因:STL中heap是基于vector实现的,而vector是连续线性空间,这不符合set的集合性质! 为什么不用二叉搜索树? 可能不平衡,造成搜索深度过大! 为什么不用平衡二叉搜索树(AVL树)? ... 阅读全文
摘要:
仿函数是什么 仿函数又称函数对象,其本质是类的对象,但为什么带“函数”二字呢,因为该类重载了()运算符,使得对象使用()时类似使用函数。 如: greater<int> ig; //比较大小。greater<int>是一个模板类,ig是该类的对象,这里称ig为仿函数或函数对象。cout << ig(5, 2) << endl; //之所以称呼ig时带“函数”二字,是因为ig使用()操作符时类似... 阅读全文