字典树:
字典树 即Tire树,以一个空的头结点分若干的分支,来存放数据,虽浪费了大量内存,但是查找速度非常快。
匹配 时间复杂度 O(n) n = strlen(a);
字典树分 3步,建树、插入、查找
当然有时候,建树的选择是很重要的一点,尽量本着少往字典树上添加节点的原则,容易爆!!!
列入下面这题,用m建树,n来查找,即可AC,如果用n来建...
分类:
其他好文 时间:
2014-06-09 23:42:44
阅读次数:
295
在手机应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制,前面一篇文章介绍了iOS设备的内存缓存,这篇文章将设计一个本地缓存的机制。功能需求
这个缓存机制满足下面这些功能。1、可以将数据缓存到本地磁盘。2、可以判断一个资源是否已经被缓存。如果已.....
分类:
其他好文 时间:
2014-06-09 22:39:16
阅读次数:
310
ebian上的apt-get是最快的软件安装方式,不过要用好apt-get,首先得需要找到最快的源,这样安装软件的时候才能获得好的速度,用起来才能得心应手。有的源在用了一段以后,就会失效,这个时候,你又需要去网上寻找新的救星。显然,这样会相当麻烦。不过,可以使用apt-spy这个软件来解决这个麻烦。...
分类:
其他好文 时间:
2014-06-08 20:47:25
阅读次数:
305
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以...
分类:
其他好文 时间:
2014-06-08 18:07:41
阅读次数:
187
一、概念
1、什么是CDN?
CDN的全拼是(Content Delivery Network),即内容分发网络。其基本思想是尽可能避开互联网上有可能影响数据传输速度和稳定性瓶颈的环节,使内容传输的更快、更稳定。通过在网络各处防止节点服务器所构成的在现有的互联网基础之上的一层只能虚拟网络,CDN系统能够实时地根据网络流量和各个节点的连接、负载情况以及到用户的距离和响应时间等综合信息将用户的请求...
分类:
其他好文 时间:
2014-06-08 16:20:30
阅读次数:
219
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon
)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
简介
memcached是一套分布式...
分类:
其他好文 时间:
2014-06-08 10:26:57
阅读次数:
226
在有关TCP连接的很多配置中,有很多选项有的配置
net.ipv4.tcp_rmem:这个参数定义了TCP接收缓冲(用于TCP接收滑动窗口)的最小值、默认值、最大值
net.ipv4.tcp_wmem:这个参数定义了TCP发送缓冲(用于TCP发送滑动窗口)的最小值、默认值、最大值
netdev_max_backlog:当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包...
分类:
其他好文 时间:
2014-06-08 10:01:51
阅读次数:
523
在ios7以前,我们开发二维码扫描,或者生产都需要借助第三方的开源库进行开发。
然后升级到ios7时,在passbook中苹果自带二维码扫描功能,而且扫描速度非常快,秒杀一切第三方开源库。所以,我们做二维码的开发选用自带sdk优先级应该高于其他的库。
说到二维码的开发,我们需要用到这两个对象。如下。。
@property (nonatomic,
strong) AVCaptureS...
分类:
移动开发 时间:
2014-06-08 09:04:05
阅读次数:
232
端午和朋友去了苏州金鸡湖游玩,不料第二天下大雨,就呆在酒店玩Linux内核编译...感觉没意思就开始看那本总也看不完的《失控》,读到了一个思想,感觉挺有思想。藏品多没什么意义,关键是索引,你能用最快的速度找到你想找的那件,这才是有意义的。在一个博尔赫斯的那种包含所有图书的图书馆,找到一本书和写出那本书同样困难,找书的过程其实就是写书的过程。狄德罗,百科全书派人物,畅想了人类知识的汇总,汇总于一个博...
分类:
其他好文 时间:
2014-06-08 04:59:17
阅读次数:
212
一、DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)
DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(预充电)一次,如果存储单元没有被刷新,存储的信息就会丢失(关机就会丢失数据)。主要用于系统内存。
SRAM是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,速度快,但是集成度低。主要用于CP...
分类:
其他好文 时间:
2014-06-08 02:15:27
阅读次数:
413