自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (8)
  • 收藏
  • 关注

转载 内存管理-内存池技术

转自http://www.cnblogs.com/dwdxdy/archive/2012/06/05/2537431.html内存池是种用于分配大量大小相同的小块内存的技术,可以极大加快内存分配/释放过程.MemPool技术的内存分配,释放速度非常快,达到O(1)级别.缺点:1).只能分配特定字节长度的内存,也就是说,MemPool不是通用内存管理器.2).MemPoo

2012-08-31 20:02:37 779

转载 STL中vector、list、deque的区别

1 vector向量 相当于一个数组在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacituy()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存储。优点:

2012-08-31 19:34:28 684

转载 typedef和define具体的详细区别

转自http://blog.csdn.net/21aspnet/article/details/67239151) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r

2012-08-31 19:20:25 628

转载 BSS段/DATA段/CODE段

转自http://blog.csdn.net/ljzcom/article/details/7254872BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。                 BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segm

2012-08-31 16:58:58 2043

转载 堆和栈的区别

转自http://blog.csdn.net/hairetz/article/details/4141043一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 :1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放

2012-08-31 16:54:51 618

转载 c中malloc realloc calloc 的区别和联系

ANSI C说明了三个用于存储空间动态分配的函数(1) malloc 分配指定字节数的存储区。此存储区中的初始值不确定(2) calloc 为指定长度的对象,分配能容纳其指定个数的存储空间。该空间中的每一位(bit)都初始化为0(3) realloc 更改以前分配区的长度(增加或减少)。当增加长度时,可能需将以前分配区的内容移到另一个足够大的区域,而新增区域内的初始值则不确定.

2012-08-31 16:04:12 844

转载 C++ 虚函数,虚函数表

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型

2012-08-31 15:33:41 593

原创 重建二叉树并非递归前序/中序/后序遍历

《编程之美》3.9重建二叉树的题目:根据中序遍历和前序遍历结果重建二叉树#include #include #include #include using namespace std ; struct NODE { NODE *pLeft; NODE *pRight; char chValue;};void Rebuild(char *preOrder, char

2012-08-30 21:45:09 697

转载 RMQ问题

转自:http://kmplayer.iteye.com/blog/575725RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j主要方法及复杂度(处理复杂度和查询复杂度)如下:1.朴素(即搜索) O(n)-O(n) 2.线段树(segment tree) O(n)-O(qlog

2012-08-30 16:04:02 500

转载 Trilogy公司的笔试题:用最少的步骤将数N转为1

转自 http://blog.csdn.net/flyinghearts/article/details/5665799Trilogy公司的笔试题: 如果n为偶数,则将它除以2,如果n为奇数,则将它加1或者减1。问对于一个给定的n,怎样才能用最少的步骤将它变到1。 最简单的方法就是用DP。设f(n)为所用的最少步骤。根据定义可得:若n为偶数, f(n)=f(

2012-08-29 23:09:19 2255

转载 C&C++中联合体(union)的使用

试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式?分析:作为一个计算机相关专业的人,我们应该在计算机组成中都学习过什么叫Little endian和Big endian。Little endian和Big endian是CPU存放数据的两种不同顺序。对于整型、长整型等数据类型,Big endian认为第一个字节是最高位字节(按照从低地址到高地址

2012-08-29 22:11:23 2701

转载 x+2*y+5*z = 100

华为笔试题:写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。如:100个1是一个组合,5个1加19个5是一个组合。。。。 答案:最容易想到的算法是:设x是1的个数,y是2的个数,z是5的个数,number是组合数x+2*y+5*z = 100 求这个方程解的个数number注意到0,0number=0;for (x=0; x<=10

2012-08-29 21:58:45 2972

转载 冒泡排序的优化算法

/* *减少了冒泡排序外面的循环的次数,如果在第K项后没有产生交换, *则K项之后所有的项必定有序,如果k=0则说明整个数组都有序,则退出 */int* sort(int a[],int length){ int k=length-1,j,kk,temp; //k为最后一次调换的位置,kk为临时计数器 while(k>0) { kk=0

2012-08-29 21:49:44 672

转载 strcmp函数

int strcmp(const char *src, const char *dst){ int ret = 0; if (src == dst) { return 0; } assert(src!=NULL); if (dst == NULL) { return -1; } while(!(ret=*(unsigned char*)src-*(unsigned

2012-08-29 10:33:58 363

转载 itoa函数

char* itoa(int val,char* buf,unsigned int radix) //考虑进制,需要参数radix指定{ char *bufptr; //要另外定义一个指针进行操作,因为最后需要返回字符串起始地址 char *firstdig; char temp; unsigned int digval; //assert(buf != NULL); bu

2012-08-29 10:04:24 462

转载 atoi函数的实现

转自http://blog.csdn.net/udknight/article/details/1836799int isspace(int x){ if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r') return 1; else return 0;}int isdigit(int x){ if

2012-08-28 22:41:51 373

转载 01背包问题总结

转自 http://www.cppblog.com/jake1036/archive/2011/06/27/149566.html一 问题描述:     有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。    所谓01背包,表示每一个物品只有一个,要么装入,要么不装入。二 解决方案:   考虑使用d

2012-08-28 20:26:55 663

转载 十道海量数据处理面试题与十个方法大总结

转自http://kb.cnblogs.com/page/95701/    第一部分、十道海量数据处理面试题  1、海量日志数据,提取出某日访问百度次数最多的那个IP。  此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。  再详细介绍下此方案:首先是这一天,并且是访

2012-08-28 16:54:28 529

转载 Bloom Filter

转自http://log.medcl.net/item/2010/07/bloom-filter/设想以下的一个问题:有一个keyword的集合,我们需要快速判定某个keyword是否包含在其中。最简单的方法是遍历,但是效率很差。我们马上想到了hash的方法,因为在Oracle内部,hash无处不在。比如在cache buffer中找到某个block,在shared pool中

2012-08-28 16:30:55 400

转载 综合知识问答题

HTTP中Get和Post的区别Get和Post都是浏览器向网页服务器提交数据的方法。 Get把要提交的数据编码在url中,比如 http://hi.baidu.com/mianshiti?key1=value1&key2=value2 中就编码了键值对 key1,value1 和key2,value2。受限于url的长度限制,Get方法能传输的数据有限(不同浏览器对url长度限制

2012-08-25 20:23:14 764

转载 网易有道算法题

题目:给16个数字,1~16,每个数字都有一个出现的概率。然后随机选中一个数字,让你猜是选中的是哪个数字。猜的方法是,你可以给定一个数字的集合,对方告诉你选中的数在不在你给的集合里。求最差情况下最好的算法,还有期望最小的算法。这道题可以用赫夫曼编码做,根据数字出现的概率,进行编码。然后猜的时候,每次选择一颗子树,依次进行。赫夫曼编码的知识见《算法导论》16.3节关于Hu

2012-08-24 20:14:31 931

转载 有关蓄水池抽样(Reservoir Sampling)和自己的一些思考

转自http://handspeaker.iteye.com/blog/1167092最近在校论坛上看到了一个叫蓄水池(Reservoir Sampling )抽样的问题,感觉很有趣,记录如下:题目:要求从N个元素中随机的抽取k个元素,其中N无法确定。解法:Init : a reservoir with the size: k f

2012-08-24 16:37:06 599

转载 整形数组,判断元素是否仅出现一次

发信人: zhuzhu2005 (永恒的猪肉卷), 信区: CoderInterview标  题: 整形数组,判断元素是否仅出现一次发信站: 水木社区 (Fri Jul 20 14:04:24 2012), 站内给定一个整形数组,长度为N。若元素范围为0到N-1且每个元素仅出现一次,则返回valid,否则返回invalid。要求时间复杂度O(n),空间复杂度O(1)。

2012-08-23 21:55:09 651

转载 scanf和printf

大一下学期遇到的问题,现在想起来把他搞明白………………--------------------------------------------------------------------------------------------------------------------------------这个是中定义的scanf:_CRTIMP int __cdecl __MING

2012-08-23 20:20:10 4637

转载 把字符串转换成整数

题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。首

2012-08-23 20:08:55 500

转载 C++题目汇总

问题(1):运行如下的C++代码,输出是什么?class A { public: virtual void Fun(int number = 10) { std::cout << "A::Fun with number " << number; } }; class B: public A { public: virtua

2012-08-23 10:34:35 533

转载 运算符的执行顺序

运行下图中的C++代码,打印出的结果是什么?bool Fun1(char* str) { printf("%s\n", str); return false; } bool Fun2(char* str) { printf("%s\n", str); return true; } int _tmain(int argc, _

2012-08-22 23:09:03 1360

转载 基于树的索引结构介绍

转自:http://philoscience.iteye.com/blog/1112759转眼又七月份了。6月份后来就变成考试月了。因为图论要求写阅读报告,某天看数据库的空间索引时,又正好看到关于基于树的一些索引技术,于是产生了以此为主题写份阅读报告的想法。今天算是完成了。总共介绍了5种树,二分查找树、AVL树、2-3树、B树及其变种B+树。B+树是现在运用最多的基于磁盘的索引方法。我

2012-08-22 21:23:09 1077

转载 理解红黑树

转自:http://www.cppblog.com/goodwin/archive/2011/08/08/152797.html#Post理解红黑树树型结构一直是一种很重要的数据结构, 我们知道二叉查找树BST提供了一种快速查找, 插入的数据结构. 相比散列表来说BST占用空间更小,对于数据量较大和空间要求较高的场合, BST就显得大有用处了.BST的大部分操作平均运行时间为O(logN)

2012-08-22 21:13:25 2937

转载 大端小端(Big- Endian和Little-Endian)

在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先 从字节序说起。 一

2012-08-22 19:53:28 497

转载 随机采样问题

问题:从 1到n个数中随机选出m个不同的数。(编程珠玑12章)第一种算法,从r个剩余的整数中选出s个,以概率s/r选择下一个数initialize set S to empty Size:=0 while Size<m do T:=RandInt(1,N) if T is not in S then insert T in S

2012-08-22 19:32:08 735

转载 海量数据---位图法的应用

一、给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中申请512M的内存(40亿 )一个bit位代表一个unsigned int值读入40亿个数,设置相应的bit位读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在 二、使用位图法判断整形数组是否存在重复判断集合中存在重复是常

2012-08-22 16:38:58 878

转载 数对之差的最大值

题目:在数组中,数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11,是16减去5的结果。分析:看到这个题目,很多人的第一反应是找到这个数组的最大值和最小值,然后觉得最大值减去最小值就是最终的结果。这种思路忽略了题目中很重要的一点:数对之差是一个数字减去它右边的数字。由于我们无法保证最

2012-08-22 16:23:53 429

转载 字符串的组合

题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。分析:在本系列博客的第28题《字符串的排列》中,我们详细讨论了如何用递归的思路求字符串的排列。同样,本题也可以用递归的思路来求字符串的组合。假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字

2012-08-21 23:00:46 391

转载 字符串的排列

题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。分析:这是一道很好的考查对递归理解的编程题,因此在过去一年中频繁出现在各大公司的面试、笔试题中。我们以三个字符abc为例来分析一下求字符串排列的过程。首先我们固定第一个字符a,求后面两个字符bc的排列。当两个字符bc的排列

2012-08-21 22:47:32 328

转载 八皇后问题

题目:在8×8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处在同一行、同一列或者同一对角斜线上。下图中的每个黑色格子表示一个皇后,这就是一种符合条件的摆放方法。请求出总共有多少种摆法。

2012-08-21 22:43:36 3879

转载 O(n)时间的排序---计数排序

题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。分析:排序是面试时经常被提及的一类题目,我们也熟悉其中很多种算法,诸如插入排序、归并排序、冒泡排序,快速排序等等。这些排序的算法,要么是O(n2)的,要么是O(nlogn)的。可是这道题竟然要求是O(n)的,这里面到底有什么玄机呢?                题目特别强调是

2012-08-21 21:40:52 1624

转载 限制条件下的算术运算

题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。分析:这又是一道考察发散思维的很有意思的题目。当我们习以为常的东西被限制使用的时候,如何突破常规去思考,就是解决这个问题的关键所在。看到的这个题目,我的第一反应是傻眼了,四则运算都不能用,那还能用什么啊?可是问题总是要解决的,只能打开思路去思考各种可能性。首先我们可以分析人们是如何做十进制的加法的,比如是如何得出

2012-08-21 21:18:54 604

转载 树的子结构

题目:二叉树的结点定义如下:struct TreeNode { int m_nValue; TreeNode* m_pLeft; TreeNode* m_pRight; };输入两棵二叉树A和B,判断树B是不是A的子结构。例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一样的,因此B就是A的子结构。                  1

2012-08-21 20:59:40 426

转载 复杂链表的复制

题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。其结点的C++定义如下:struct ComplexNode { int m_nValue; ComplexNode* m_pNext; ComplexNode* m_pSibling; };下图是一个含有5个结点的该

2012-08-21 20:53:17 368

IrisSkin官方皮肤包

IrisSkin的官方皮肤包,几十种样式,让winform的界面美化更轻松。

2015-08-07

一些互联网公司的笔试题

几家国内著名公司的笔试题,都是网上搜集来的,照片形式。

2012-11-07

优酷土豆笔试题

2013校园招聘笔试题,希望对找工作的同学有帮助。

2012-11-07

腾讯笔试题

2013校园招聘笔试题,希望对找工作的同学有帮助。

2012-11-07

百度笔试题

百度2013校园招聘笔试题,希望对找工作的同学有帮助。

2012-11-07

google笔试题

google校园招聘的笔试题,希望对找工作的同学有所帮助

2012-11-07

斯坦福大学机器学习课程原始讲义

斯坦福大学的机器学习讲义,比较经典的。Andrew Ng主讲,可以配合网上的视频学习。

2012-09-24

空空如也

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

TA关注的人

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