10 2013 档案

摘要:我小时候的理想是将来做一名数学家,可惜长大了发现自己天赋不够,理想渐行渐远,于是开始考虑现实,开始做一些人生规划,我一直在思考将来从事何种职业,专注什么样的领域,重新定义着自己的职业理想。我现在的职业理想,比较简单,就是做一名数据分析师。为什么要做数据分析师?在通信、互联网、金融等这些行业每天产生巨大的数据量(长期更是积累了大量丰富的数据,比如客户交易数据等等),据说到2020年,全球每年产生的数据量达到3500万亿GB;海量的历史数据是否有价值,是否可以利用为领导决策提供参考依据?随着软件工具、数据库技术、各种硬件设备的飞快发展,使得我们分析海量数据成为可能。而数据分析也越来越受到领导层的重 阅读全文

posted @ 2013-10-27 15:16 daniel+ 阅读(399) 评论(0) 推荐(1)

摘要:1. class 和 struct 的区别2.class 还有什么用class还有个用途是在模版类型声明中作为表示模版类型参数或模版模版参数的语法的必要组成部分。前者也可被typename代替。3. 类的默认函数有哪些?默认构造函数,默认拷贝构造函数,默认赋值操作符,默认虚析构函数,取值操作符.4.内存控制方法,new了而没有delete智能指针5.STL 阅读全文

posted @ 2013-10-27 00:07 daniel+ 阅读(154) 评论(0) 推荐(0)

摘要:如person表 pid,sid 两字段 用sid分组,结果如下:num sid5 00110 00212 0030 004select count(*) num,sid from person group by sid若求有多少组分组,如上例有四组,则select count(*) from (select count(*) num,sid from person group by sid )去除重复的项:select (distinct * ) from table 阅读全文

posted @ 2013-10-24 20:11 daniel+ 阅读(315) 评论(0) 推荐(0)

摘要:写一个函数,完成内存之间的拷贝。[考虑问题是否全面,是否考虑内存重叠问题]返回void *支持链式操作,参数类型是void *以支持任意类型的指针,输入参数加上const修饰,最好加上assert对输入输出指针进行非NULL判断void* memcpy( void *dest, const void *src, size_t count ){char* pdest = static_cast( dest );const char* psrc = static_cast( src );// 依次从前拷贝,目的地址覆盖了源地址的数,此时从后往前拷贝if( (pdest>psrc) & 阅读全文

posted @ 2013-10-22 13:20 daniel+ 阅读(244) 评论(0) 推荐(0)

摘要:C/C++面试经验总结如下,望兄弟姐妹们能得到点什么经验。1、要把c语言的基础打实2、理解c++语言中一些概念以及它们之间的区别(需要深刻理解):(1)局部变量 全局变量 静态变量 const常量 寄存器变量 宏定义的常量 static变量注:包括它们的内存分配区域,作用域,初始化等等(2)理解malloc与new之间的区别,以及free与之间区别(3)内联函数与宏定义的区别,它们各有什么优点(4)内存分配有哪几种形式?分别为何?区别是什么?对编译速度影响是何?(4)理解什么是重载、覆盖、隐藏,区别是何?可否举例?(5)什么是多态?举个例子试试(6)struct 和class有什么区别?c语言 阅读全文

posted @ 2013-10-20 17:33 daniel+ 阅读(1144) 评论(0) 推荐(1)

摘要:纯虚函数是一种特殊的虚函数,它的一般格式如下:class {virtual ()=0;…};在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。纯虚函数可以让类先具有一个操作名称,而没有操作内容,让派生类在继承时再去具体地给出定义。凡是含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类为派生类服务。除非在派生类中完全实现基类中所有的的纯虚函数,否则,派生类也变成了抽象类,不能实例化对象。 阅读全文

posted @ 2013-10-19 20:51 daniel+ 阅读(184) 评论(0) 推荐(0)

摘要:1.#include using namespace std;struct A { int a; //4 long b; //4 char c; //1 // align to 12};void main(){ cout using namespace std;#define SQUARE(a) (a * a)void main(){ int a=3; int b=4; cout using namespace std;struct Node{int data;Node* next;};void main(){ ... 阅读全文

posted @ 2013-10-19 16:53 daniel+ 阅读(436) 评论(0) 推荐(0)

摘要:开始之前务必记住: 黄金法则:80/20---你要承担起80%的谈话而面试官只会说20%。 白金法则:你必须试着控制面试的节奏和话题。 钻石法则:对于没有把握的问题,抛回给面试官。 1.在一分钟内介绍一下你自己 这似乎是必答题。不要以为这很容易。如果你用一分钟来重复你的简历,恭喜你,你的印象加分没有了!建议你最多用二十秒钟介绍自己的姓名、学校、专业。然后话锋一转,引出自己的优势或强项。一定要在最短时间内激发起面试官对你的好感,或者至少是兴趣。 成功的模式可以是:我叫XXX,英文名字XXX,XX省XX市人,今年6月将从XX学校XX专业本科(专科)毕业。除了简历上您看到的介绍,我愿意特... 阅读全文

posted @ 2013-10-18 15:34 daniel+ 阅读(189) 评论(0) 推荐(0)

摘要:#includeusing namespace std;class calculator{ public: char token; int exp( void ); int term( void ); int factor( void ); void match( char expectedToken ); void error( void );};int calculator::exp(void){ int temp = term(); /*计算比加减运算优先级别高的部分*/ while ... 阅读全文

posted @ 2013-10-18 15:29 daniel+ 阅读(215) 评论(0) 推荐(0)

摘要:#include #include #include /*****************************************///这个算法开辟了额外的空间。//分析这个问题可以知道,字符串长度len是奇数(0不考虑)//数字的个数是len/2+1,符号的个数为len/2,然后将符号和数字存储起来//第一步处理所有的乘除法,此时有一个特点就是如果几个数//连续进行乘除法的时候就需要向前存储结果(为了方便后面的加减法运算)//算法复杂度O(n)/*****************************************/int calculate(int len,char * 阅读全文

posted @ 2013-10-18 15:21 daniel+ 阅读(227) 评论(0) 推荐(0)

摘要:1、进程与线程的区别:1.1、通俗的解释一个系统运行着很多进程,可以比喻为一条马路上有很多马车,不同的进程可以理解为不同的马车,而同一辆马车可以有很多匹马来拉----这些马就是线程。假设道路的宽度恰好可以通过一辆马车,道路可以认为是临界资源,那么马车成为分配资源的最小单位(进程),而同一个马车被很多匹马驱动(线程)----即最小的运行单位。每辆马车马匹数>=1,所以马匹数=1的时候进程和线程没有严格界限,只存在一个概念上的区分度;马匹数>1的时候才可以严格区分进程和线程。1.2、专业的解释简而言之,一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程 阅读全文

posted @ 2013-10-16 22:10 daniel+ 阅读(308) 评论(0) 推荐(0)

摘要:以二叉链表为存储结构,分别写出求二叉树高度及宽度的算法。所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。标准答案:①求树的高度Int Depth(BinTree *T){int dep1,dep2;if(T==Null) return(0);else{dep1=Depth(T->lchild);dep2=Depth(T->rchild);if(dep1>dep2) return(dep1+1);else return(dep2+1);}②求树的宽度思想:按层遍历二叉树,采用一个队列q,让根结点入队列,最后出队列,若有左右子树,则左右子树根结点入队列,如此反复 阅读全文

posted @ 2013-10-15 13:30 daniel+ 阅读(817) 评论(0) 推荐(0)

摘要:Gray Code,是几十年前贝尔实验室的科学家Frank Gray提出的一种编码方案,当时主要用于传输信号以防止出错。Gray Code 除了在通信,硬件设计领域中应用以外,在计算机相关科学的其他方面也有广泛的应用,例如按序产生集合的所有子集。Gray Code实现按序产生集合的所有子集子集的按序产生,这个概念很简单,举个例子,假设我们的集合为{a,b,c},那么按序产生的子集应该是:空集 (000) —— 0(编号 从0开始按顺序排序)a (100) —— 1ab (110) —— 2abc (111) —— 3acbbcc那么Gray Code是如何产生这样的序列的... 阅读全文

posted @ 2013-10-14 23:21 daniel+ 阅读(589) 评论(0) 推荐(0)

摘要:题目描述输入一个集合,需要生成该集合所能得出的所有组合。举例说明:若输入集合为{1,2} , 需要生成的组合有{1},{1, 2},{2} 。该题目与生成集合的全排列有很多相似之处,同样也是一个很经典的问题。解决思路这里我们利用递归的思想来实现该问题的解。面对这样一个问题,我们需要仔细分析。题目要求生成一个集合的所有组合,也就是需要生成集合里的元素所能够组成的所有组合。于是一个很明显的思路就是要遍历该集合。一提到遍历集合,可以使用循环或者递归来实现。针对本问题,利用递归的思想是很方便的。假设我们的集合为{1,2,3} ,我们从头扫描集合的元素,第一个元素为1。对于这个元素,我们可以把他放到组合 阅读全文

posted @ 2013-10-14 23:20 daniel+ 阅读(1654) 评论(0) 推荐(0)

摘要:问题C语言以及C++语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢? 本文将对这两个问题进行一些分析,简单解释const的含义以及实现机制。问题分析简单的说const在C语言中表示只读的变量,而在C++语言中表示常量。关于const在C与C++语言中的使用以及更多的区别,以后有时间另开一贴说明。那么const究竟是如何实现的呢? 对于声明为const的内置类型,例如int,short,long等等,编译器会如何实现const的本意?那么对于非内置类型是否也是与内置数据类型一样处理呢,例如对于结构体类型则会怎样处理呢?下面通过几个小例子来说明这些问题:C语言const示例: . 阅读全文

posted @ 2013-10-14 23:20 daniel+ 阅读(240) 评论(0) 推荐(0)

摘要:同步和通讯的目的是一样的,实现进程间数据共享,同步只是为了做到处理协同。共享内存在Win9X平台上是有的,在NT内核以后就没有这一说了,因为进程地址空间不再有共用部分Linux :通信就是说进程之间传递数据。常见的方法有 pipe(管道),FIFO(命名管道),socket(套接字),SysVIPC 的 shm(共享内存)、msg queue(消息队列),mmap(文件映射)。以前还有 STREAM,不过现在比较少见了(好像)。同步的意思是说,让不同进程能够在同时到达一个已知的特定状态之前等待另一方的执行。Linux 下常见的同步方法有SysVIPC 的 sem(信号量)、fi... 阅读全文

posted @ 2013-10-14 23:04 daniel+

导航