自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (7)
  • 收藏
  • 关注

转载 Memcached 集群架构方面的问题

这里收集了经常被问到的关于memcached的问题memcached是怎么工作的?memcached最大的优势是什么?memcached和MySQL的query cache相比,有什么优缺点?memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点?memcached的cache机制是怎样的?memcached如何实现冗余机

2012-03-28 19:14:27 474

转载 手机号码查找算法(基数树)

typedef struct mctree_node      mctree_node;struct mctree_node{        mctree_node     *child[10];     //节点内包含10个子节点        mctree_node     *parent;        //当前节点的父节点        dpl_uint8_t     le

2012-03-28 13:45:59 1087

转载 二叉搜索树的插入和删除

题目:2叉搜索树的插入和删除 要求(1)任意选顶一个2叉搜索树用先序遍历 中序遍历 和后序遍历显示该2叉搜索树(2)动态显示出在2叉搜索树中插入一个元素时树的变化过程 要求演示出所有可能的情况(3)动态显示出 在2叉搜索树中删除一个元素时的变化过程要求演示出所有的可能的情况 #include #define max 10struct BinTreeNode

2012-03-28 11:05:11 2219

转载 算法导论小结-散列表

By:            潘云登Date:         2009-7-18Email:        [email protected]:http://blog.csdn.net/intrepydCopyright:该文章版权由潘云登所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者同意。

2012-03-27 16:35:07 1002

原创 libmemcached中的consistent hash算法~

翻了下libmemcached的源码,看了下consistent hash的算法实现,贴出来:static uint32_t dispatch_host(const memcached_st *ptr, uint32_t hash){ switch (ptr->distribution) { case MEMCACHED_DISTRIBUTION_CONSISTENT:

2012-03-24 18:22:10 1350

转载 一致代码段,非一致代码段,特权级,代码间跳转

一致代码段,非一致代码段一致位:在描述符属性中TYPE(包含4个二进制位)字段的第2位。当 S=1 时TYPE中的4个二进制位情况:3 2 1 0分别对应下面四个属性执行位 一致位 读写位 访问位执行位:置1时表示可执行,置0时表示不可执行;一致位:置1时表示一致码段,置0时表示非一致码段;读写位:置1时表示可读可写,置0时表示只读;访问位:置1时表示已访问,置0时

2012-03-22 20:40:24 1462

转载 分析memcached源代码

本文针对memcached 1.21 for windows(主要原因是Linux实在缺乏一种简单易用的C++ IDE,使用gdb调试我会发疯的,code::block挺不错的,但是感觉还是不如VC,我非常喜欢VC/VS的调试功能,其中几个特性包括随便拖变量到watch窗口,在watch窗口可以编辑被观察的变量,鼠标悬停时显示变量的值。这几个特性是我希望一个调试器所应该必备的),其源代码可在htt

2012-03-22 17:04:09 2064

转载 分布式处理之Consistent Hashing算法(C++实现)

大家知道在分布处理中,使用取余法来达到分布式处理是最方便、最快捷的方法,但是这种方法存在一系列的问题就是,那就是随着服务器的增加或減少,数据转移与命中率都会是件很头疼的事,在这里我们举个最简单的例子来说明这种方法带来的坏处。假设现有5台服务器来存放一部分数据,那么我们按取余的方法来得到服务器分布的位置, 按hash(key) % 5得到的值会在0-5之间,在这里我们假设为2,也就是说数据存放在

2012-03-20 18:52:32 908

转载 基于consistent hashing实现Web Caching系统

基于 consistent hashing 实现 Web Caching 系统 David Karger, Alex Sherman , Andy Berkheimer, Bill Bogstad, Rizwan Dhanidina Ken Iwamoto, Brian Kim, Luke Matkins, Yoav Yerushalmi.MIT 计算机科学实验室邓辉 译

2012-03-20 15:21:41 767

转载 <算法导论>第九章3 最坏情况线性时间的选择

最坏情况线性时间的选择(找第i小的元素):1.分组:每组最多5个元素(这里可以为5,7,...个元素);2.找中位数:在每组中找出中位数;3.中位数的中位数:找第2步中得到的中位数数组中的中位数;4.划分:将第3步得到的中位数作为划分元素划分数组,返回中位数的位置k;5.如果中位数是第i小的元素则返回,否则如果i代码的实现稍微有一点不同。因为我们用C++编码的时候小标从0开

2012-03-19 22:45:51 800

转载 线性期望时间选择问题C语言

直接上代码#include #define SIZE (20) int main (void) ; int select (int * const array, const int left, const int right, const int ith) ; int partition (int * const array, const int

2012-03-19 22:05:16 1079

转载 基数排序

今天学了基数排序,据说他的时间复杂度也是O(n),他的思路就是:没有计数排序那么理想,我们的数据都比较集中,都比较大,一般是4,5位。基本没有小的数据。那我们的处理很简单,你不是没有小的数据嘛。我给一个基数,例如个位,个位都是[0-10)范围内的。先对他进行归类,把小的放上面,大的放下面,然后个位排好了,在来看10位,我们也这样把小的放上面,大的放下面,依次内推,直到最高位排好。那么不就排

2012-03-15 20:51:03 583

转载 计数排序及其扩展思路

(1)原理和代码以及时间复杂度分析          1.计数排序的原理:设被排序的数组为A,排序后存储到B,C为临时数组。所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以;在此基础上,计算小于或者等于i的元素个数,也是一重循环就完成。下一步是关键:逆序循环,从length[A]到1,将A[i]放到B中第C[A[i]]个位置上。原理是:C[A[i]]

2012-03-15 20:25:09 493

原创 算法导论中的快速排序C源码~

看了网上很多的快速排序代码,都是前后扫描改分割位的。看了算法导论,顺其思路的C代码~#include int a[8]={3,5,4,8,1,2,0,7};void quicksort(int* a,int p,int r){ int q; if (p<r) { q=partition(a,p,r); quicksort(a,p,

2012-03-12 21:02:45 964 1

转载 linux中断处理浅析

最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~第一阶段--获取中断号每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序.在进入中断服务程序时, CPU已经自动禁止了本CPU上的中断响应, 因为CPU不能假定中断服务程

2012-03-12 17:27:59 549

转载 ostringstream函数的使用

当存在未知数据大小的时候,可以使用 ostringstream 来代替 sprintf , 避免总是申请大量的缓冲区.用法可以参照下面转载的文章.另外解决今天遇到的一个问题,如果要重复使用一个ostringstream对象,并且需要在下次使用前清空缓冲区,则可以使用str()函数重设置缓冲区. 如:ostringstream  osSql;//first timeosSql..

2012-03-12 10:47:14 839

转载 Linux多线程中使用信号-2

Linux 多线程应用中如何编写安全的信号处理函数转自:http://www.ibm.com/developerworks/cn/linux/l-cn-signalsec/index.html?ca=drs-cn-0618周 婷 ([email protected]), 软件工程师, IBM 中国软件开发技术实验室刘 坚 ([email protected]),

2012-03-06 16:09:19 4015 1

转载 Linux多线程中使用信号-1

在Linux的多线程中使用信号机制,与在进程中使用信号机制有着根本的区别,可以说是完全不同。在进程环境中,对信号的处理是,先注册信号处理函数,当信号异步发生时,调用处理函数来处理信号。它完全是异步的(我们完全不知到信号会在进程的那个执行点到来!)。然而信号处理函数的实现,有着许多的限制;比如有一些函数不能在信号处理函数中调用;再比如一些函数read、recv等调用时会被异步的信号给中断(inter

2012-03-06 16:07:30 18438 8

转载 Linux内核信号处理机制介绍

本文简单介绍下Linux信号处理机制,为介绍二进制翻译下信号处理机制做一个铺垫。本文主要参考书目《Linux内核源代码情景分析》《独辟蹊径品内核:Linux内核源代码导读》首先,先说一下什么是信号。信号本质上是在软件层次上对中断机制的一种模拟,其主要有以下几种来源:程序错误:除零,非法内存访问… 外部信号:终端Ctrl-C产生SGINT信号,定时器到期产生SIGALRM…

2012-03-06 16:02:43 3720 1

转载 标准C++中的string类的用法总结

相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的str

2012-03-06 13:28:46 571

转载 fork两次如何避免僵尸进程收藏

#include #include #include #include int main(void) { pid_t pid; if ((pid = fork()) < 0) { fprintf(stderr,"Fork error!/n"); exit(-1);

2012-03-02 10:15:19 554

计算机数学-刘新宇-递归

这个pdf里面主要是描述欧几里得算法,从而引申出递归,演算的意义。喜欢计算机数学的可以下载看看,内容简单易懂。

2020-02-27

计算机数学-刘新宇-自然数

计算机数学-刘新宇-自然数,学习计算机数学的资料。主要描述了自然数的一些历史以及公理,很有学习价值。

2020-02-27

fengeAtlas.py

laya拆图工具,不是一行行读取的,使用json来拆的。适用很多layabox打出的文件。依赖,python2.7 PIL

2019-06-21

游戏物理引擎开发源码

游戏物理引擎开发一书的源码,工程已经改为VS2013,里面的编译,链接错误都修改了.可正常编译

2015-05-17

动态Huffman编码

动态哈夫曼编码的PPT介绍,挺详细的,尤其是演示部分~

2013-08-29

binomial heap的算法描述

很清楚的描述了binomial heap 的插入,合并,删除~外国的

2013-08-07

空空如也

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

TA关注的人

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