自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(103)
  • 资源 (22)
  • 收藏
  • 关注

转载 linux 定时器

原文出处:点击打开链接使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,使用alarm定时发出一个信号,还有那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是

2014-12-07 11:46:06 409

原创 muodu 开源阅读(一)

服务器的启动服务器启动:创建一个TcpServer(包含EevntLoop,acceptor,EventThreadPool),调用setThreadNum设立线程的数目,然后调用Start()启动server,在start函数中主要有threadPool_->start(threadInitCallback_);和loop_->runInLoop(boost::bind(&Acceptor:

2014-12-02 22:42:30 536

转载 CDN原理

转载:http://www.72e.net/cdnspeed/cdnyuanli.aspx首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示。Internet 网络基本结构及数据传输方式根据传统的网络结构,用户的访问流程基本如下: 用户在自己的浏览器中输入要访问的网站的域名 浏览器向本地DNS请求对该域名的解析

2014-03-03 17:21:10 1283

转载 关于阻塞,非阻塞的读过的最好的文章

标签:c++ c epoll作者:蓝形参,<strong title="Geek" 伪技术宅"="" class="xukw" style="padding: 0px; margin: 0px; ">Geek 伪技术宅    首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。    不管是文件,还是套接字,还是管道,我们都

2014-02-18 14:33:27 568

原创 nginx学习篇:数据结构

nginx的数据结构nginx自己封装了很多数据结构。因为nginx具有两个特点:跨平台,c语言,所以很多库中的容器和数据结构就不能使用了,针对不同平台,nginx也封装了很多系统调用,这样在上层看来能做到统一的调用接口。一  nginx里简单的树结构1.1 ngx_queue_t ngx_queue_t 是nginx里重要的数据结构,采用双向链表的形式,具体定义在Ngx_queu

2014-02-17 17:20:04 452

原创 nginx学习篇:内存池

nginx管理内存池的数据结构是ngx_pool_t。在ngx_request_t, ngx_conf_t中都控制着ngx_pool_t。一.在nginx的Ngx_palloc.h里的定义如下:struct ngx_pool_s { ngx_pool_data_t d; size_t max; ngx_pool_t

2014-02-11 17:17:38 548

原创 muodu 开源阅读(二)

muduo定时器分析muduo涉及定时器的类包括:TimerQueue,   TimerId,   Timer,   Timestamp。

2014-12-05 22:01:06 277

原创 muduo 开源阅读笔记(一)

关键数据结构/关键字文件Mutex.h中:#define MCHECK(ret) ({ __typeof__ (ret) errnum = (ret); \ if (__builtin_expect(errnum != 0, 0)) \ __assert_perror_fa

2014-11-25 23:48:28 325

原创 nginx学习篇:数据结构ngx_pool_t

在nginx的数据结构ngx_request_t和ngx_conf_t中都有一个ngx_pool_t。此数据结构主要完成内存池的分配和释放。

2014-02-11 11:08:09 455

原创 UML-类图的创建

最近在看一个源码,打算看完给实验室的讲讲,时间初步定在25号吧,以ppt的形式,用类图的形式,展现出来,于是安装了个visual paradigm,这里主要学习一下UML的类图的画法。主要以例子的形式学习。

2014-01-21 14:18:55 384

转载 select poll epoll 原理解析

select, poll和epoll的区别2010-06-29 21:47:13标签:pollselect 休闲 职场随着2.6内核对epoll的完全支持,网络上很多的文章和示例代码都提供了这样一个信息:使用epoll代替传统的poll能给网络服务应用带来性能上的提升。但大多文章里关于性能提升的原因解释的较少,这里我将试分析一下内核(2.6.21.1)代码中

2013-10-01 22:50:59 1904

转载 select:编程思想

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非

2013-10-01 08:55:29 550

原创 TCP服务器:多进程

代码:server:#include#include#include#include #includeint main(int argc,char**argv){int sockfd, new_fd;/*监听socket:sock_fd,数据传输socket:new_fd*/struct sockaddr_in my_addr;/*本机地址信息*/struct soc

2013-09-29 20:50:07 1178

原创 爱奇艺 笔试题

一个数组大小N,由0到N-1之间的数组组成,或重复,或不存在,请统计每个数字出现的次数。void parseArr(int arr[], int n){ for (int i=0; i<n; i++) { arr[arr[i] % n] += n; } for (int i=0; i<n; i++) {

2013-09-29 17:54:41 3091

转载 约瑟夫环的推导

网上找了很多,终于找到一个靠谱的连接,转载GX,原文连接:点击打开链接约瑟夫环约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围;从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。前几天,在一篇文章中得知了约瑟夫环的问题。然后,就涉

2013-09-13 23:39:36 6048 6

原创 华为一道机试

int IsMatch(char* str ){ assert(str!=NULL); stack stk; int bResult=0; while(*str!=NULL) { if(*str=='['||*str=='(') stk.push(*str); if(*str==']') { d if(stk.empty(

2013-09-10 16:15:12 1026

原创 链表反向,

链表反向:template class Node { public: T data; Node* next;};template class link{public:link(){ head=new Node();head->data=1;head->next=NULL;Node* pNew=NULL;Node* p=

2013-09-09 14:46:09 619

原创 迅雷2014笔试题答案

题目来源:http://www.itmian4.com/forum.php?mod=viewthread&tid=3427&extra=&page=1一,1, B;     2, A;     3,D;    4,D;    5,c;   6,A;   7,B;    8,B;   9,C;   10,  B;    11, C;     12, 不会    13, A;    14,D;

2013-09-08 18:50:45 263

原创 工作的准备:atoi,itoa,strcpy,memcpy,strcmp,二分查找,strcat

对常见的几个函数,周末没事写写,绝对是笔试面试中非频繁,前面n届学长无数次强调了,大家就别怀疑了。从今天开始,每天10道题。         int atoi(const char* str){ if(str==NULL) return 0; bool sigFlag=true; int i=0; int sum=0;while(str[i]!='\0'){ if(

2013-09-02 22:46:17 687

原创 2013腾讯暑期实习题 分析

8月末了,最后的时间里,没事看看论文,准备一下笔试的事,最近一大学好哥们总问我校招的事,我也尽力回答,素不知我也是半吊子啊。随手找来2013腾讯暑期实习的笔试题,做做,感觉选择题挺基础,有的也不会,总体感觉一般般,非选择题比较难。一、  单项选择题1) 给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()Int a1=x+y-z; int b1=x*y/z;

2013-08-23 09:51:32 188

原创 腾讯的一道面试题

给定一个数组A[N],我们希望构造数组b[N],其中b[j]=a[0]*a[1]*...*a[j-1]*a[j+1]*...*a[N];构造过程不能使用除法:要求时间复杂度O(n),空间复杂度O(1);除遍历计数器与a[N]  b[N]外,不可使用新的变量(包括临时栈变量,堆空间变量,全局变量);断断续续想了好几天,#includeusing namespace std;te

2013-08-22 22:02:37 527

转载 放射变换的原理

仿射变换是二维平面中一种重要的变换,在图像图形领域有广泛的应用。许多人对“仿射”没有一个感官的认识,我觉得很有必要先来说一下“仿射”。所谓的“仿射变换”就是一种简单的变换,它的变化包括旋转、平移、伸缩,原来的直线仿射变换后还是直线,原来的平行线经过仿射变换之后还是平行线,这就是仿射。仿射变换的矩阵是其次坐标形式的变换矩阵这个矩阵包含的变换有旋转和平移,其实是两个矩阵的混合体,许

2013-08-22 11:01:33 668

原创 nginx 系列学习篇之 数据结构

下面主要介绍nginx里用的数据结构,以后读源码当然还会回过头来看看。在nginx里的变量类型一般都以ngx开头typedef intptr_t ngx_int_ttypedef uintptr_t ngx_uint_t 分别定义了ngx里的有符号和无符号整数。其中intptr_t的定义如下:typedef long int intptr_t

2013-08-20 17:04:26 120

转载 select、poll和epoll

转载地址:http://blog.endlesscode.com/2010/03/27/select-poll-epoll-intro/by Stephen posted on 2010/03/27对select、poll、epoll了解得不多,下面是从《构建高性能Web站点》摘录下来的介绍,等以后真正接触到select、poll和epoll方面的开发再详细写一下使用上的区别。

2013-08-18 21:54:53 515

原创 试题练习

http://blog.csdn.net/lanyan822/article/details/7983832 快找工作了,找几道题来练练手,保持感觉,最近半个月就是狂做题,狂练习,华为的上机题:上机时间两小时,3道题1 字串转换问题描述:将输入的字符串(字符串仅包含小写字母‘a’到‘z’),按照如下规则,循环转换后输出:a->b,b->c,…,y->z,z->a;若输入的字

2013-08-10 13:40:48 124

原创 DP总结

前言面试之前,总结一下dp。具体概念,看我的之前写的有关dp的博客,这里主要总结LCS,0-1背包,数组分割,数中和最大的子数组,数组的最长递增子序列,以及字符串的相似度。接下来分为俩部分,第一部分,引入各个算法的关键代码。第二部分,主要是表格总结,包括时间和空间复杂度,递推关系式。关键代码分析LCS:#include#includeusing namespace std;

2013-08-10 10:50:27 545

原创 这部分主要介绍链表 包括基本的链表建立 删除 插入,以及常用的链表环的检测,环起点,链表交叉,交叉点

链表的建立 删除 插入        #includeusing namespace std;templateclass link{ public: link(T d,link* L) { Data=d; next=L; } link* NEXT()const { return next; } T ReadData()c

2013-08-05 15:05:29 669

转载 操作系统 分页原理

操作系统 页表的原理

2013-08-02 12:05:54 577

原创 贪心复习

前言复习一下贪心算法,主要涉及俩个经典题目,这里重现一下,活动选择和部分背包问题,主要分三部分,贪心的基本概念,活动选择,部分背包问题。贪心的基本概念所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。在动态规划算法中,每步所做的选择往往依赖于相关子问题的解。因而只有在解出相关子

2013-08-01 12:17:20 513

原创 操作系统总结

2013-07-30 18:07:34 126

原创 各种排序 大总结

前段时间仔细学习了各种排序算法,算是恶补吧,谁叫咋本科不努力,列举了个表格,空间复杂度没写的就是常数级。

2013-07-29 16:06:13 579

原创 快排和二分的复习

过了很长时间了,怕自己忘了,重写一下快排和二分。     void fastSort(int * arr,int n,int m){ int tmp; if(m-n<1) return;//退出递归的条件 int partition=arr[m];//分割元素 int i=n-1;//double pointer //int j=n; for(int j

2013-07-25 16:05:52 709

原创 编程之美 计算字符串的相似度

许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程度。我们定义了一套操作方法来把两个不同的字符串变得相同,具体的操作方法为:        1.修改一个字符(如把"a“替换为"b");         2.增加一个字符(如把"abdd"变为"aebdd");         3.删除一个字符(如把"travelling"变为"traveling")。比如,对

2013-07-22 11:53:54 1156

原创 编程之美 求数组中的最长递增子序列

如题,例如:存在数组 1,-1,2,-3,4,-5,6,-7 ,则最长的递增子序列是:1,2,4,6.法一:        蛮力法        int Lis(int* arr,int n){ int iCount=0;//记录子序列的个数 int tmp_count=0; int tmp; for(int i=0;i<n-1;i++) {

2013-07-21 12:09:12 1170

原创 编程之美 数组循环移位

设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附件变量。法一:       挨个遍历,每个移动K位,复杂度RightShift(int* arr,int N, int K) { while(K--) { int t=arr[N-1];

2013-07-17 16:04:19 1105

原创 编程之美 求数组的子数组之和的最大值

一个有N个整数元素的一位数组(A[0],A[1],A[2],...,A[n-1]),这个数组当然有很多子数组,那么子数组之和的最大值是什么?比如 -2 5  3 -6 4 -8 6 的最大子数组是 5  3。      法一:              挨个遍历查找:int maximum=-INF;int sum;for(int i=0;i<n;i++){

2013-07-16 14:51:40 550

原创 编程之美 快速寻找满足条件的两个数

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。        法一:         最直接的方法就是,穷举法,复杂度为O(N^2);         法二:         利用sum减去a[i],再查找sum-a[i],是否在数组里,这时候就变成查找了,可利用二分查找;排序的复杂度为O(

2013-07-15 15:28:20 563

原创 面试题 :把一个集合拆成两部分,使其和相等

如题:比如一个集合{1,3,4,2,5,7,8},则拆成的两个集合为{1,3,4,2,5},{7,8}。           迅雷的一道面试题。

2013-07-13 21:17:37 869

原创 编程之美 寻找数组中的最大值和最小值

寻找一个数组里的最大值和最小值法一:       分别遍历一遍,次数O(2*N);法二:        根据书上的讲述,  法三:       主要在法二的基础上改进,法二改变了原数组,法三主要是不改变原数组,定义两个变量MAX和MIN,分别保存最大值和最小值。法四:       分治法,这是重点。typedef struct{ int MAX;

2013-07-13 17:33:32 954

原创 编程之美 裴波那楔数列

给出如下递推式:       以上就是经典的Fibonacci数列,下面给出递推的解法:       int Fibonacci(int n){ if(n<=0) return 0; else if(n==1) return 1; else return Fibonacci(n-1)+Fibonacci(n-2);}

2013-07-13 12:08:16 798

Desktop.rar

语义相似度任务-LCQMC数据集下载。LCQMC 是哈尔滨工业大学在自然语言处理国际顶会 COLING2018 构建的问题语义匹配数据集,其目标是判断两个问题的语义是否相同。

2020-07-17

图的 DFS 和BFS

图的遍历方式包括DFS BFS,这个工程文件是俩种遍历方式的实现,适合学习用,工程实践还得加工,具体分析 在我的博客 数据结构练习 10

2013-07-09

计算1的个数

计算小于N的所有整数里,出现的1的个数,具体分析在我的 博客 编程之美 那一栏里,呵呵

2013-07-08

二分查找的实现

实现二分查找的一个demo,有兴趣的下载哦,哈哈 具体分析 在我的博文 数据结构-算法练习 20

2013-07-03

贪心(活动调度和背包)

此工程基于VS2008开发 主要包括俩个经典例子:活动调度 和 部分背包 问题

2013-06-27

vector list

测试vector list的各种常用函数,初学者可以下下,有什么问题 在我的博文里留言,那里有具体的分析

2013-06-21

LCS的实现代码

LCS的一个实现,具体分析见我的博文《动态规划2》,大家一起学习,开发环境VS2008

2013-06-21

动态规划的实现

VS2008 实现的一个动态规划 调试可以正常使用,具体代码的分析见的博客《动态规划》

2013-06-19

计数排序的算法实现

计数排序的代码实现,对应分析在我的博客里找,学习和开发的随便下

2013-06-16

快速排序算法

c++实现的快速排序,经过了 测试,能正常使用,学习和开发的同学download

2013-06-15

堆排序的实现

包括堆化数组,堆的插入,删除。堆排序。经测试过,欢迎下载

2013-06-14

归并排序的一个demo

归并排序的一个实现,适合学习用,也可以作为开发人员的参考版,经过VS 测试

2013-06-12

冒泡法的实现

冒泡法的实现,VS平台,经测试,效果挺好

2013-06-11

插入排序算法

插入排序的源代码 经过调试 直接能用!欢迎下载

2013-06-11

图的链表存储方式的demo

关于图的链表存储的一个demo 实现。具体解释参考我的博文 《数据结构联系- 9...》

2013-06-07

八皇后问题 实现代码

八皇后问题的实现代码,经过测试 可以用

2013-06-05

huffman 二叉树实现

最优二叉树 学习的好资料.代码带有解释,具体的详细解释可看我的博客 数据结构联系7-huffman 里面是以这个例子展开的

2013-06-03

hash 海量模拟

hash实现海量搜索的demo,一起学习了

2013-06-01

文件的读取 涵盖资料讲解 三个而例子程序

文件的读取 涵盖资料讲解 三个而例子程序 非常细致 适合想学的人 程序 给出了 输入到数组 再从输出另存。为了能让大家学习,程序可改性很强

2011-11-21

从文本读入到数组,再从数组输出到另一文档

从文本读入到数组,再从数组输出到另一文档,花了3天写的,适初学者 程序 注释清晰,供大家交流分享

2011-11-21

C++头文件手册

各种函数属于什么头文件 以及其应用介绍 很有用的 大家下载哦

2011-11-18

读写图片

读写图片 很好用的哦 大家一起学习哦 代码的 写得很好哦 大家试试吧

2011-11-18

空空如也

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

TA关注的人

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