- 博客(65)
- 资源 (2)
- 收藏
- 关注
转载 c++代码命名规范
一、命名的两个基本原则1、含义清晰,不易混淆;2、不和其它模块、系统API的命名空间相冲突。二、命名通则1、在所有命名中,都应使用标准的英文单词或缩写;不得使用拼音或拼音缩写,除非该名字描述的是文特有的内容(如半角、全角、声母、韵母等);除非必要,不要用数字或较奇怪的字符来定义标识符。2、所有命名都应遵循达意原则,即名称应含义清晰、明确。3、所有命名都不易过长,应控
2014-08-31 17:06:44 818
原创 【数据结构——栈】括号匹配
#include#includeusing namespace std;const int MAX = 100;void PrintMatchedPairs(char str[]){ if(str == NULL )return; stack s; int len=strlen(str); for(int i=1;i<len;i++) { if(str[i-1] ==
2014-08-28 09:05:26 561
转载 关于海量数据处理的各种常用数据结构浅谈
关于海量数据处理的各种常用数据结构浅谈 随着互联网的兴起,越来越多的内容被放到互联网中,从而导致海量数据处理受到更多人的重视,尤其是在百度、腾讯等这些涉及海量数据的公司。下面我们简单谈一下关于海量数据处理的一些常用数据结构。包括哈希、bitmap、Bloom filter、堆、mapreduce、trie树。(1)哈希 对于哈希,相信大家都不会陌生。其基
2014-08-27 08:55:34 452
转载 Bloom Filter
博客园博问闪存首页新随笔联系管理订阅随笔- 53 文章- 0 评论- 7 【原】布隆过滤器 (Bloom Filter) 详解布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单
2014-08-27 08:05:55 556
转载 栈帧
http://blog.csdn.net/zhongguoren666/article/details/7586074首先应该明白,栈是从高地址向低地址延伸的。每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。下图为典型的存取器安排,观察栈在其中的位置
2014-08-26 08:31:13 577
转载 卡特兰树
卡塔兰数卡塔兰数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡塔兰数的一般项公式为 另类递归式: h(n)=((4*n-2)/(n+1))*h(n-1);前几项为 (OEIS中的数列A000108): 1, 1, 2, 5, 14, 42, 132, 429
2014-08-24 08:22:05 717
转载 Trie树
转自:http://blog.csdn.net/hguisu/article/details/81315591. 什么是trie树 1.Trie树 (特例结构树) Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于
2014-08-23 15:51:21 558
转载 C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R
2014-08-18 16:02:44 393
原创 【c++】string类的实现
#include#includeusing namespace std;class String{public: String(); String(const char* str); String(const String& rhs);//复制构造函数 String& operator=(const String& other);//赋值操作 ~String(); cons
2014-08-18 12:50:52 461
转载 The C++ Standard Library : A Tutoral and Reference 读书笔记之auto_ptr
这一部分会将要讨论一下auto_ptr.c++标准库提供auto_ptr作为一种智能指针,有了这种智能指针,就可以在异常被抛出的时候避免资源的泄漏.注意,auto_ptr只是智能指针的一种.因为事实上有多种智能指针存在.而auto_ptr只是被用来满足某种情形下的需求的.而对于其他一些情形,auto_ptr无能为力.所以在使用的时候 要格外注意. auto_ptr的动机
2014-08-17 20:38:12 539
转载 【c++】指针与引用
http://blog.csdn.net/xdrt81y/article/details/18004129温故而知新,指针和引用的概念,大学时都已熟知,实际用的时候往往又有些疑惑,故深入探究一下。从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在
2014-08-13 21:07:30 333
转载 【c++】——sizeof与字节对齐
结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列,而不是简单地顺序排列,这就是内存对齐。 内存对齐的原因:
2014-08-13 15:55:50 821
转载 【数据结构——跳表】跳表
为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。 用跳表吧,跳表是一种随机化的数据结构,目前
2014-08-13 13:20:07 667
原创 【算法——53】字符串02——左旋转字符串
#include "stdafx.h"#includeusing namespace std;void ReverseStr(char* pBegin,char *pEnd){ if(pBegin == NULL || pEnd == NULL) return; while(pBegin < pEnd) { char tmp = *pBegin; *pBegin = *
2014-08-12 08:01:42 420
原创 【c++primer——】第13章复制控制——01深入理解复制构造函数
13. 理解复制控制成员和构造函数的一个良好方式是定义一个简单类,该类具有这些成员,每个成员打印自己的字: struct Exmp1 { Exmp1() { std::cout 编写一个像Exmp1这样的类,给出复制控制成员和其他构造函数。然后写一个程序,用不同方式使用Exmp1类型的对象:作为非引用和引用形参传递,动态分配,放在容器中,等等,研究何时执行哪个构造函数和复制控制成员,可以帮
2014-08-12 07:41:44 432
转载 各大IT公司校园招聘程序猿笔试、面试题集锦
各大IT公司校园招聘程序猿笔试、面试题集锦2012-09-09 11:38 15249人阅读 评论(8) 收藏 举报面试招聘算法数据结构数据库阿里巴巴目录(?)[+]百度一面1、给定一个字符串比如“abcdef”,要求写个函数编程“defabc”,位数是可变的。这个比较简单,我用的是strcpy和memcpy,然后他问有什么优化的办法,我就不
2014-08-12 07:40:23 590
原创 【笔试面试——32】判断链表环的入口
找到环的入口点当fast若与slow相遇时,slow肯定没有走遍历完链表,而fast已经在环内循环了n圈(1<=n)。假设slow走了s步,则fast走了2s步(fast步数还等于s 加上在环上多转的n圈),设环长为r,则:2s = s + nr;s= nr;设整个链表长L,入口环与相遇点距离为x,起点到环入口点的距离为a。a + x = nra + x = (n – 1)r +r = (...
2014-08-10 22:24:51 662
转载 【MFC】——VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)
上一节中鸡啄米讲的是滚动条控件,本节主要讲一种简单实用的控件,图片控件Picture Control。我们可以在界面某个位置放入图片控件,显示图片以美化界面。 图片控件简介 图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在前面介绍,这里就不重复了。 图片控件静态
2014-08-10 21:53:51 839
原创 【c语言陷阱——01】——二维数组模拟
从前面的讨论中,我们不难得出一个推论,*a即数组a中下标为0的元素的引用。例如,我们可以这样写:1*a=84;这个语句将数组a中下标为0的元素的值设置为84.同样道理,*(a+1)数组a中下标为1的的元素的引用,以此类推,概而言之,*(a+i)即数组中下标为i的元素的引用,这种写法是如此常用,因此被简记为a[i].正是
2014-08-09 19:52:38 394
转载 c/c++进阶之路
C/C++从入门到高手所有必备PDF书籍收藏,喜欢的朋友支持下吧~C:《C和指针》- PDF高清版下载地址:http://www.fishc.com/a/book/C/821.html《C程序设计语言》- 完美中文版PDF下载地址:http://www.fishc.com/a/book/C/632.html《The C Programming Langu
2014-08-09 16:14:14 999 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人