一般来说,服务器的模型有下面几种:
单进程单线程
多进程(一个请求对应一个进程,Apache 之类貌似就是这个)
多线程(一个请求对应一个线程,这个挺少见到的)
select / poll
epoll
它们的差别可以看这个,http://www.cnblogs.com/sharra/…
因为需要了解底层设备访问的原理,所以惯用高层应用语言的我,需要了…… 阅读全文
Tag Archives: C++
字符串距离
今天见到一个题,让求两个字符串之间的距离,隐约记得之前在 php 中用过这个的现成函数,当时还查了一下原理,是一个俄罗斯的人搞的一个算法,原理是用矩阵,于是就往矩阵上去想,结果没想出来,后来听同学说那是个 dp,想想也是,唉,思路狭隘了
参考这里,http://www.java3z.com/cwbwebho…,写了一个矩阵的版本…… 阅读全文
栈结构练习
今天从刘汝佳的书上看到一个简单的栈的题目
有n节车厢从A方向驶入车站,按进站顺序编号1~n。现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,可以借助中转站C。C是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的车厢必须按照相反的顺序驶出C。对于每个车厢,一旦从A移入…… 阅读全文
KMP 串匹配
昨天一天没有写出代码来,惭愧惭愧,昨天在看红黑树和堆排序,可惜最后都没有能写出东西来,渐渐的感觉网络上的中文资料不太可以依赖了啊,要么就是没有,要么就是 google 出来排名在前面的都会写错,看来要么转向英文资料,要么转向纸质书了
今天参考这里,http://blog.csdn.net/v_july_v/…,写了个 KMP 串匹配…… 阅读全文
1亿以内的回文质数
今天下午看到这么一个题
找出 1 亿以内的回文质数
很自然的思路就是素数筛,然后验证回文性质
#include <iostream>
#include <cmath>
#include <ctime>
#define TOTAL 100000000
using namespace std;
bool is_prime[TOTAL];
void Sieve_of_Eratosthenes()
{
memset(is_prime, 1, sizeof(…… 阅读全文
用有序二叉树来统计单词
今天上午看到一个题
本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.
搞了一会,代码如下…… 阅读全文
二叉树的遍历
参考 http://blog.csdn.net/acdnjjjdj… 写了二叉树的遍历,(基本上就是照抄的,囧),抄的时候感慨,stl 真是个好东西啊,另外,在三种次序遍历的实现上,递归的精巧发挥的淋漓尽致啊,还有就是非递归的遍历,设计真的好巧妙
#include <iostream>
#include <queue>
#include <stack>
using …… 阅读全文
链表的反转
今天上午自己写了一个链表的反转
#include <stdio.h>
#include <stdlib.h>
typedef struct _node
{
int n;
_node *next;
} node;
int create_link(node **phead)
{
int x = 0;
printf("input nums, press Ctrl+Z(win) or Ctrl+D(linux) to endn");
if (scanf("%d", &x) <…… 阅读全文
虚函数与纯虚函数
虚函数的作用是在父类中定义函数时,尚未知道由哪个子类来调用的情况下,提供一种自动指向,有点类似 java 的向上转型的意思,还是看代码吧,如果没有使用虚函数
#include <iostream>
using namespace std;
class animal
{
public:
void shout()
{
cout<<"animal"<<endl;
}
void …… 阅读全文