摘要: 1.题目要求 a)b[i] = a[0] *a[1] *a[2]*….a[n-1]/ a[i],求出数组b; b)要求不能用除法,除循环控制变量以外,不许额外申请其余变量,时间复杂度为O(n),空间复杂度为O(1)。 2.程序思路 a)假设 N = 5,那么 b[0] = a[1]*a[2... 阅读全文
posted @ 2014-08-10 20:37 Monica_Lee 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1.动态规划和子序列 1.1 动态规划的特征: a)最优子结构,求问题的解必须获取子问题的最优解; b) 重叠子问题,使用原始的递归存在大量的重复计算。 1.2 子序列的概念: a)子序列中的元素都是原字符串中的元素; b)子序列中元素的排列顺序,与他们在原字符串中的顺序... 阅读全文
posted @ 2014-08-05 00:28 Monica_Lee 阅读(313) 评论(0) 推荐(1) 编辑
摘要: 1.timerfd 的基本用法 1.1 timerfd 系列的定时器采用的不是信号,而是 fd 可读,常用的函数有 timerfd_create 、timerfd_settime 和 timerfd_gettime, 这些函数的功能和用法也比较浅显,这里用一个简单的例子(1.2)来说明其用法,cr... 阅读全文
posted @ 2014-08-05 00:03 Monica_Lee 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 1.进程的基本概念 1.1操作系统有三大抽象概念: a)进程:程序的执行过程; b)文件: IO; c)虚拟内存:可用的地址空间; 1.2 进程在内核中是一种数据结构 task_struct(定义见/usr/src/linux-headers-3.8.0-29/include/... 阅读全文
posted @ 2014-08-02 22:45 Monica_Lee 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 1.文件的打开 1.1 open 和 fopen 。open 返回的是文件描述符,而fopen 返回的是文件指针,二者的第二个参数也不同,一个是宏定义的,一个是字符串。因此在书写的时候要特别注意。 int fd = open("test.txt", O_RDONLY); FILE *fp = ... 阅读全文
posted @ 2014-08-02 17:32 Monica_Lee 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 1.虚函数 1.1不含有任何数据成员或者虚函数的class或者struct大小为1,含有虚函数的对象在基地址部分有一个vptr,指向虚函数表,因此大小为4个字节。 1.2动态绑定的原理:假设派生类和基类存在覆盖的关系(基类中定义了虚函数),那么派生类在虚函数表中,会覆盖掉基类相应的虚函数。当程序... 阅读全文
posted @ 2014-08-02 00:10 Monica_Lee 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 1.function 和 函数指针 1.1 function有函数指针的功能,但是使用起来明显比函数指针更加灵活和方便。 1.2 函数指针和function的用法实例。 1.2.1 函数指针首先要清楚函数指针的类型,如void (*)(int, char)等,然后声明一函数指针变量直接调用... 阅读全文
posted @ 2014-08-01 19:21 Monica_Lee 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 1.exception.h#ifndef __EXCEPTION_H__#define __EXCEPTION_H__#include #include class Exception : public std::exception{ public: Exception(cons... 阅读全文
posted @ 2014-08-01 18:48 Monica_Lee 阅读(168) 评论(0) 推荐(0) 编辑
摘要: .PHONY:clean runCC=gccCFLAGS=-Wall -gBIN=./bin/mainINCLUDE=-I./includeOBJS=./obj/epoll_t.o ./obj/server.o ./obj/network.o$(BIN):$(OBJS) $(CC) $... 阅读全文
posted @ 2014-07-31 21:01 Monica_Lee 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 0.春阳语录,代码嵌套三层以上就是一坨垃圾。因此良好的编程风格从封装开始。1.封装select服务器模型 1.1 如何封装?将select需要的数据结构都封装成结构体,通过参数在函数之间传递,将固定的操作封装成相应的函数。 1.2 封装后的程序: 1.2.1 封装的头文件 select_t... 阅读全文
posted @ 2014-07-31 20:53 Monica_Lee 阅读(786) 评论(0) 推荐(0) 编辑