自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(14)
  • 收藏
  • 关注

转载 SBT

原文连接:http://www.cnblogs.com/zgmf_x20a/archive/2008/11/14/1333205.html在今年的信息学冬令营上,陈启峰提出了一个自己创造的BST数据结构—Size Balanced Tree。这个平衡二叉树被全世界内的许多网站所讨论,大家讨论的主题也只有一个—SBT能够取代Treap吗?本文详细介绍SBT树的性质,以及一些常用的

2015-08-14 09:54:01 408

转载 哈希表

原文连接:http://www.cnblogs.com/vamei/archive/2013/03/24/2970339.htmlHASH哈希表(hash table)是从一个集合A到另一个集合B的映射(mapping)。映射是一种对应关系,而且集合A的某个元素只能对应集合B中的一个元素。但反过来,集合B中的一个元素可能对应多个集合A中的元素。如果B中的元素只能对应A中的一

2015-08-14 09:50:25 401

转载 伸展树

原文连接:http://www.cnblogs.com/vamei/archive/2013/03/24/2976545.html我们讨论过,树的搜索效率与树的深度有关。二叉搜索树的深度可能为n,这种情况下,每次搜索的复杂度为n的量级。AVL树通过动态平衡树的深度,单次搜索的复杂度为log(n) (以上参考纸上谈兵 AVL树)。我们下面看伸展树(splay tree),它对

2015-08-14 09:42:46 398

转载 树堆

原文链接:http://blog.csdn.net/yang_yulei/article/details/46005845TreapTreap=Tree+Heap。Treap本身是一棵二叉搜索树,它的左子树和右子树也分别是一个Treap,和一般的二叉搜索树不同的是,Treap纪录一个额外的数据,就是优先级。Treap在以关键码构成二叉搜索树的同时,还满足堆的性质

2015-08-14 09:20:12 525

转载 AVL树

AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个儿子子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(log n)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。       对二叉树的平衡调整过程,主要包含四种旋转操作:LL,LR,RR,RL 。 LR由当前节点左儿子的一次RR旋转和当前节点的一次LL旋转

2015-08-14 08:53:33 402

转载 红黑树并没有我们想象的那么难

原文连接:点击打开链接红黑树并没有想象的那么难, 初学者觉得晦涩难读可能是因为情况太多. 红黑树的情况可以通过归结, 通过合并来得到更少的情况, 如此可以加深对红黑树的理解. 网络上的大部分红黑树的讲解因为没有「合并」. 红黑树的五个性质:性质1. 节点是红色或黑色。性质2. 根是黑色。性质3. 所有叶子都是黑色(叶子是NIL节点)。

2015-08-14 08:38:39 2004

转载 VisualC++信息安全编程

(1)内联汇编实现NT下读MBR[cpp] view plaincopyprint?MBR,全称为Master Boot Record,即硬盘的主引导记录。   MBR,全称为Master Boot Record,即硬盘的主引导记录。  为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引

2014-08-26 23:00:00 1641

翻译 成员函数指针以及C++委托

原文地址:点击打开链接说明

2014-04-14 17:33:01 1589

翻译 标准C++实现C#代理机制

说明

2014-04-14 12:41:00 730

转载 c++回调函数 callback

C++中实现回调机制的几种方式(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件:[cpp] view plaincopytypedef voi

2014-04-14 11:05:16 450

转载 C++11 FAQ中文版:共享资源的智能指针——shared_ptr

三13Year 2011陈 良乔C++11 FAQ共享资源的智能指针——shared_ptrshared_ptr被用来表示共享的拥有权。也就是说,当两段代码都需要访问一些数据,而它们又都没有独占该数据的所有权(从某种意义上来说就是该段代码负责销毁该对象)。这是我们就需要shared_ptr。shared_ptr是一种计数指针。当引用计数变为0时,shared_ptr所指向的

2014-03-17 13:29:20 418

转载 C++0x FAQ中文版:std::function 和 std::bind

C++0x FAQ中文版:std::function 和 std::bind - [C++11 FAQ]加入微群学C++,更有趣,更轻松:)此博客已经停止更新,并乔迁新址http://chenlq.net,感谢大家对本博客的喜爱,希望在新的站点能够继续和大家一起交流学习。谢谢大家:)std::function 和 std::bind标准库函数bind

2014-03-17 10:10:55 383

转载 线程池

线程池:创建一定数量(建议:CPU个数 * 2)的线程去执行很多个任务,它通常面向的是一个队列。一个典型的用法是,有许多个任务远超过线程池数量,将任务放进队列,多个线程则不断的从队列中取出任务执行,直到所有任务都完成,线程可以终止或者睡眠等待新任务的到来。线程池的伸缩性对性能有较大的影响。创建太多线程,将会浪费一定的资源,有些线程未被充分使用。銷毀太多執行緒,將導致之後浪費

2014-03-17 09:25:17 448

转载 C++11下的线程池以及灵活的functional + bind + lamda

最近学习了一些C++11的文章,急着动手玩一玩。这次,打算利用boost的thread实现一个线程类,维护一个任务队列,以便可以承载非常灵活的调用。这个线程类可以方便的为后面的线程池打好基础。线程池还是动态均衡,没有什么别的。由于minGW 4.7 对 C++11 thread 不支持,所以采用 boost  代替,linux 下是支持的,只是名字空间不同而已,套路都一样。先上代码:

2014-03-17 09:07:28 624

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除