码迷,mamicode.com
首页 >  
搜索关键字:bfs 优先队列 stl    ( 13177个结果
优先队列(堆)
优先队列(priority queue)是允许至少两种操作的数据结构:Insert及DeleteMin(删除最小者)。相当于队列中的Enqueue、Dequeue操作。优先队列可以用链表、二叉查找树、二叉堆等实现。二叉堆1. 结构性质堆(heap)是一棵完全被填满的二叉树,有可能的例外是在底层,底层...
分类:其他好文   时间:2014-06-26 22:16:43    阅读次数:327
STL容器 vector,list,deque 性能比较
C++的STL模板库中提供了3种容器类:vector,list,deque对于这三种容器,在觉得好用的同时,经常会让我们困惑应该选择哪一种来实现我们的逻辑。在少量数据操作的程序中随便哪一种用起来感觉差别并不是很大,但是当数据达到一定数量后,会明显感觉性能上有很大差异。本文就试图从介绍,以及性能比较两...
分类:其他好文   时间:2014-06-26 19:33:21    阅读次数:240
《python源代码剖析》笔记 python中的Dict对象
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie1.PyDictObject对象 --> C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN)PyDictObject採用了hash表,时间复杂度是O(1)typede...
分类:编程语言   时间:2014-06-26 16:35:13    阅读次数:175
POJ 3253 Fence Repair(优先队列,哈夫曼树)
题目//做哈夫曼树时,可以用优先队列(误?)//这道题教我们优先队列的一个用法:取前n个数(最大的或者最小的)//哈夫曼树//64位//超时->优先队列,,,,//这道题的优先队列用于取前2个小的元素#include #include#include#include#includeusing nam...
分类:其他好文   时间:2014-06-26 16:01:24    阅读次数:215
STL中排序算法的选择
?? 当大多数程序员需要对一组对象进行排序的时候,首先想到的一个算法是sort。sort是一个非常不错的算法,但它也并非在任何场合下都是完美无缺的。有时候我们并不需要一个完全的排序操作。比如说,如果我们有一个存放Widget的矢量,而我们希望将质量最好的20个Widget送给最重要的顾客,按照顾客的重要程度送上不同质量的Widget,那么只需要排序出前20个最好的Widget,其他的Widget...
分类:其他好文   时间:2014-06-26 14:10:39    阅读次数:185
transform算法
?? transform()的第一版本以仿函数op作用于[first,last)中的每一个元素身上,并以其结果产生出一个新序列。第二版本以仿函数binary_op作用于一双元素身上(其中一个元素来自[first1,last1),另一个元素来自“从first2开始的序列”),并以其结果产生出一个新序列。如果第二序列的元素少于第一序列,执行结果未可预期。 //版本一 template Out...
分类:其他好文   时间:2014-06-26 13:39:18    阅读次数:198
区间成员函数优先于与之对应的单元素成员函数
例子:使v1的内容和v2的后半部分相同的最简单操作是什么?看下面四个答案: ①v1.assign(v2.begin()+v2.size()/2,v2.end()); ②v1.clear();  copy(v2.begin()+v2.size()/2,v2.end(),back_inserter(v1)); ③v1.insert(v1.end(),v2.begin...
分类:其他好文   时间:2014-06-26 13:28:22    阅读次数:222
调用empty()而不是检查size()是否为0
对任一容器C,代码if (c.size() == 0)本质上与if (c.empty())是等价的。既然如此,为什么要偏向于某一种形式呢,尤其是考虑到empty()通常被实现为内联函数,并且它所做的仅仅是返回size()是否为0。 理由很简单:empty()对所有的标准容器都是常数时间操作,而对一些list实现,size()耗费线性时间。 原因:在所有的标准容器中,只有l...
分类:其他好文   时间:2014-06-26 08:10:47    阅读次数:266
using STL
这是本小人书。原名是《using stl》STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其...
分类:其他好文   时间:2014-06-25 12:46:08    阅读次数:288
STL之stack适配器的实现框架
一提到适配器(adapter),我们就想到了早期用电话线上网所用的调制解调器,俗称“猫”,“猫”的作用是实现数模转化和模数转化,在客户端,它可以将电话的模拟信息转化为我们计算机能够接收的数字信息,所以猫相当于一个转换器。再举个更加好理解的例子来说明"适配器“的含义。相信在我们每个人的家里都有插排,假设就这么一种情况,现在我们家里的墙壁上只有一个三角的插口,而我们的电视却是两个口,怎么办?毫无疑问,我们可以接一个新的插排,该插排至少有两个孔,一个是用于连接墙壁上的三角的插口,一个则是提供给电视剧用的两口的插口...
分类:其他好文   时间:2014-06-25 10:55:59    阅读次数:285
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!