- 博客(160)
- 收藏
- 关注
转载 CToolTipCtrl使用详细解说
http://www.cnblogs.com/harbinxxh/archive/2011/07/05/2098413.html很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法:1. 首先要New一个CToolTipCtrl的对象m_pContentTip2. 调用CToolTipCtrl的create函数,指定其父窗口。可以为某个控件,也可以为thi
2013-10-22 16:05:37
605
转载 超线程
超线程技术(Hyper-Threading Technology)是Intel在2002年发布的一项新技术。Intel率先在XERON处理器上得到应用。由于使用了该技术,Intel将是世界上首枚集成了双逻辑处理器单元的物理处理器(其实就是在一个处理器上整合了两个逻辑处理器单元)的提供者,据说此项技术能够提高30%的处理器性能。所谓超线程技术就是利用特殊的硬件指令,把多线程处理器内部的两个逻辑内
2013-10-10 16:46:49
1059
转载 BloomFilter–大规模数据处理利器
Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络爬虫程序(web crawler)。由于网络间的链接错综复杂,爬虫在网络间爬行很可能会形成“环
2013-10-08 22:10:22
727
转载 bloom filter
目 录1什么是 Bloom filter2Bloom filter 计算方法3Bloom filter 特点4Bloom filter 的一个简单例子1什么是 Bloom filterBloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,
2013-10-08 22:09:22
598
转载 Bloom Filter算法及应用
1. 引言问题:有1000瓶药,但是其中有一瓶是有毒的,小白鼠吃了24小时后就会死掉,请问,在24小时找出有毒的药物,最少需要多少只小白鼠?答案是:10只,一只小白鼠可以表示2种状态,2^10可以表示1024种状态分析可参考:http://lzj0470.iteye.com/blog/657579通过二进制向量组来扩展描述的状态,Bloom Filter(BF)算法也是利用这个思想
2013-10-08 22:07:51
539
转载 广告投放
对于广告投放系统而言,其技术难点主要集中在以下几个方面1.高并发请求的处理作为服务于大量媒体的广告投放系统。其系统负载往往是其所服务的各个媒体的负载总和。同时,广告投放业务的实时特性也决定了系统必须能对广告投放请求给出最快程度的响应,由于延时导致的_r=告投放滞后或者失败,将对广告投放的效果和客户体验造成较大影响。因此,高并发负载支持,作为系统设计成败的关键性因素,必须纳入系统
2013-10-08 17:06:04
1629
转载 五大常用算法之五:分支限界法
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741378.html分支限界法一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件
2013-10-04 13:11:09
527
转载 五大常用算法之三:贪心算法
贪心算法http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741375.html一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必
2013-10-04 13:10:28
499
转载 五大常用算法之一:分治算法
分治算法http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很
2013-10-04 13:08:23
459
转载 五大常用算法之二:动态规划算法
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.html一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求
2013-10-04 13:07:13
495
转载 WM_PAINT消息总结
UpdateWindow()函数是让消息队列中的WM_PAINT消息立刻进入window procedure而得到处理,不是说由UpdateWIndow()产生WM_PAINT消息,WM_PAINT消息是由于窗口中存在无效区域需要重汇而产生的。设想一下如果你的客户区没有无效区域,你调用再多的UpdateWindow()也不能产生WM_PAINT消息,由于WM_PAINT
2013-09-12 11:24:50
746
转载 KMP字符串模式匹配详解
http://www.cppblog.com/oosky/archive/2006/07/06/9486.html来自CSDN A_B_C_ABC 网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:
2013-09-11 11:48:40
367
转载 [珠玑之椟]随机数函数取样与概率
http://www.cnblogs.com/wuyuegb2312/archive/2013/06/29/3141292.html[珠玑之椟]随机数函数取样与概率 本节主要受到《编程珠玑》第12章随机取样问题的启发,但不仅仅限于随机取样问题,进一步地,研究讨论了一些在笔试面试中常见的和随机函数以及概率相关的问题。 阅读本文所需的知识: 1.对C语言中或其他语
2013-09-10 11:47:01
697
转载 trie树--详解
前几天学习了并查集和trie树,这里总结一下trie。 本文讨论一棵最简单的trie树,基于英文26个字母组成的字符串,讨论插入字符串、判断前缀是否存在、查找字符串等基本操作;至于trie树的删除单个节点实在是少见,故在此不做详解。l Trie原理Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。l
2013-09-09 17:05:54
516
转载 卡特兰数
百科名片 卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。目录简介原理应用扩展C++应用展开简介原理应用扩展C++应用展开编辑本段简介卡特兰数又称卡塔兰数,
2013-09-09 15:31:06
618
转载 2013阿里巴巴暑期实习笔试
答题说明: 1.答题时间90分钟,请注意把握时间; 2.试题分为四个部分:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分); 3.其他一些乱七八糟的考试说明。 一、单项选择题 1.下列说法不正确的是:(D) A.SATA硬盘的速度速度大约为500Mbps/s B.读取1
2013-09-06 11:02:05
769
转载 字节流
字节流(byte stream)不包含边界数据的连续流字节流是由字节组成的,字符流是由字符组成的. Java里字符由两个字节组成.字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符
2013-09-04 18:10:58
509
转载 点到点与端到端通信有什么区别
点到点是物理拓扑,如光纤,就必须是点到点连接,DDN专线也是,即两头各一个机器中间不能有机器。点到点是网络层的,你传输层只认为我的数据是从a直接到e的,但实际不是这样的,打个比方,传输层好象领导,他发布命令:要干什么什么事,但真正干的不是他,真正干的是员工,也许领导认为很简单一句话就可以干好的事,在员工眼里却是难于登天,手续极其烦琐,所以传输层是发布命令的领导,他说的是命令,也就是最终的目的,所
2013-09-04 17:10:55
1768
转载 网桥路由器有什么区别
作为同是连接两个网络间的设备,网桥和路由器确实有些相似,不过本质上还是不同的。其中网桥(Bridge)又叫桥接器,它是一种在链路层实现局域网互连的存储转发设备。网桥从一个局域网接收MAC帧,拆封、校对、校验之后,按另一个局域网的格式重新组装,发往它的物理层。由于网桥是链路层设备,因此不处理数据链路层以上层次协议所加的报头.而路由器(Router)也称之为路径选择器,是在网络层实现互连的设备。它比
2013-09-04 14:01:07
746
转载 auto_ptr
auto_ptr解析By SmartPtr(http://www.cppblog.com/SmartPtr/)auto_ptr是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针, 或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指针难免会黯然失色。诚然,auto_ptr有这样那样的不如人意,以至于程序员必须像使用”裸“指针那
2013-09-01 22:30:44
438
原创 不会的题
30.在从1到n的正数中1出现的次数(数组)题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。37.(字符串)有n个长为m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串
2013-09-01 22:13:47
582
转载 求对称字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”, 因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不
2013-09-01 17:00:39
555
转载 树的三种递归、非递归遍历
递归和非递归俩种方法实现二叉树的前序遍历。咱们先来复习下,基础知识。因为关于树的遍历,在此100题中已出现过太多次了。二叉树结点存储的数据结构:typedef char datatype;typedef struct node { datatype data; struct node* lchild,*rchild; } bintnode;
2013-08-30 17:50:53
545
转载 如何判断两个链表相交及找到第一个相交点
我们学一个算法,一定是为了用吧,所谓“学以致用”吗?那么判断两个链表是否相交有什么用呢?这是因为一旦两个链表出现相交的情况,就可能发生这样的情况,程序释放了链表La的所有节点,这样就导致了另外一个与之有相交节点的链表Lb中的节点也释放了,而Lb的使用者,可能并不知道事实的真相,这会带来很大的麻烦。1.问题分析 看看两个链表相交到底是怎么回事吧,有这样的的几个事实:(假设链表中不存
2013-08-30 16:02:30
498
原创 各类模式的优缺点
1>工厂模式的优缺点: 所谓工厂,必然具备加工的功能!它有助于你的代码设计!个人觉得他可以将代码模块化!如果你需要一件JackJones衬衫,你仅仅需要呼叫JackJonesFactory返回一件给你就是!可能你需要考虑JackJonesFactory内部是怎样实现的,但是不应该是你需要一件衬衫时考虑的事情。
2013-08-30 13:48:48
686
转载 判断俩链表是否相交
http://blog.csdn.net/lihappy999/article/details/7330175给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?建立hash表:由于节点地址指针就是一个整型,假设链表都是在堆中动态创
2013-08-30 11:41:04
410
转载 无类域间路由
CIDR(无类型域间选路,Classless Inter-Domain Routing)是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由ISP分配给客户。CIDR将路由集中起来,使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻Internet路由器的负担。基本思想适当分配多个合适的IP地址,使得这些地址能够进行聚合,减少这些地址在
2013-08-29 23:51:08
804
转载 子网掩码
子网掩码通常有以下2种格式的表示方法:1. 通过与IP地址格式相同的点分十进制表示如:255.0.0.0 或255.255.255.1282. 在IP地址后加上"/"符号以及1-32的数字,其中1-32的数字表示子网掩码中网络标识位的长度如:192.168.1.1/24 的子网掩码也可以表示为255.255.255.0子网掩码一般为255.255.255.0 子网掩
2013-08-29 23:40:55
610
转载 AVL树旋转的操作
AVL树的基本操作一般涉及运作同在不平衡的二叉查找树所运作的同样的算法。但是要进行预先或随后做一次或多次所谓的"AVL旋转"。
2013-08-29 17:59:24
448
转载 _stdcall和__cdecl关键字
1、_stdcall是Pascal方式清理C方式压栈,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 int f(void *p) -->> _f@4(在外部汇编语言里可以用这个名字引用这个函数)2、C调用约定(即用__cdecl关键字说明)(The C defa
2013-08-27 18:28:06
545
转载 复制构造函数和赋值操作符--深拷贝,浅拷贝
首先,大家要知道,C++类有以下这些极为重要的函数:一:复制构造函数。二:赋值函数。我们先来讲复制构造函数。什么是复制构造函数呢?比如,我们可以写下这样的代码:String test1(test2);这是进行初始化。我们知道,初始化对象要用构造函数。可这儿呢?按理说,应该有声明为这样的构造函数:String(const String &);可是,我们并没有定义这个构造函数呀
2013-08-27 17:35:54
727
转载 二叉树中序遍历的非递归算法
#define MAXNODE 100 //二叉树最大节点数//定义二叉树链式结构typedef struct BitNode{ char data; //数据域 struct BitNode *lchild,*rchild;//左右指针域}BitNode,*BiTree;//二叉树进行中序非递归遍历void NRInorder(BiTree t){ BiTree s;
2013-08-27 15:14:38
614
转载 二叉树的基本操作小结
http://www.cnblogs.com/marrywindy/archive/2010/08/21/1805336.html二叉树的一般操作,实现了下:主要练习了二叉树的非递归遍历,利用栈,和队列来完成。算法思想,没描述清楚,表达能力很差...崩溃.... 代码#include "stdio.h"#include "malloc.h"#d
2013-08-27 14:33:25
546
转载 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
设计模式 ( 十八 ) 策略模式Strategy(对象行为型)1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个
2013-08-23 17:54:18
418
转载 一、 模板方法(Template Method)模式
一、 模板方法(Template Method)模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模版方法模式的用意。很多人可能没有想到,模版方法模式实际上是所有模式中最为常见的几个模式之一,而且很多人可能使用过模版方法模式而没有意识到自己已
2013-08-23 17:39:15
437
转载 设计模式 ( 十八 ) 策略模式Strategy(对象行为型)
设计模式 ( 十八 ) 策略模式Strategy(对象行为型)1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个
2013-08-23 17:38:31
395
转载 如何限制一个类对象只在堆上分配或者只在栈上分配?
1.第一种说法//只在栈上class stackonly{private: void * operator new(size_t Size) { }};//只在堆上class heaponly{private: heaponly(){} ~heaponly(){}};前者利用了c++的重载机制+访问控制机制。后者利用
2013-08-23 17:21:53
393
转载 关于子类重写父类私有虚函数
[复制链接] 电梯直达1# wangjieest 发表于 2012-9-16 17:57:33 | 只看该作者 百度 谷歌 雅虎 搜狗 搜搜 有道 360 奇虎 私有的虚函数,子类能重写么?编译器
2013-08-23 17:13:10
3442
转载 排序算法总结
花了很长时间终于把排序的基础学了一下,这段时间学了很多东西,总结一下:学的排序算法有:插入排序,合并排序,冒泡排序,选择排序,希尔排序,堆排序,快速排序,计数排序,基数排序,桶排序(没有实现)。比较一下学习后的心得。我不是很清楚他们的时间复杂度,也真的不知道他们到底谁快谁慢,因为书上的推导我确实只是小小了解,并没有消化。也没有完全理解他们的精髓,所以又什么错误的还需要高手指点。呵呵。1
2013-08-22 12:01:28
377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人