摘要: 腾讯笔试题,设计内存池,alloc和free都是O(1)。和LRUCache类似,这里用了一个list表示可用的空间,用一个map来记录这块内存是否已分配,这样free的时候才可能O(1)。 1 class MemPool { 2 public: 3 void init(in... 阅读全文
posted @ 2014-09-22 21:47 linyx 阅读(253) 评论(0) 推荐(0) 编辑
摘要: Roman to IntegerGiven a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.搜了一下,才知道这道题可以写这么简洁。 1 class ... 阅读全文
posted @ 2014-09-22 20:35 linyx 阅读(160) 评论(0) 推荐(0) 编辑
摘要: huffman是非常基础的压缩算法。实现霍夫曼树的方式有很多种,可以使用优先队列(Priority Queue)简单达成这个过程,给与权重较低的符号较高的优先级(Priority),算法如下:⒈把n个终端节点加入优先队列,则n个节点都有一个优先权Pi,1 ≤ i ≤ n⒉如果队列内的节点数>1,则:... 阅读全文
posted @ 2014-09-22 19:49 linyx 阅读(1126) 评论(0) 推荐(0) 编辑
摘要: 拥塞控制算法:1.加性增、乘性减;2.慢启动;3.对超时事件作出反应;整体过程如下:慢启动->到达阈值->加性增(窗口+1个MSS),这个阶段叫拥塞避免(CA)->3个冗余ack丢包(事件)->阈值和窗口都缩小为一半(乘性减), 然后加性增(CA)->快速重传,并等待确认,这个阶段叫快速恢复,如果没... 阅读全文
posted @ 2014-09-22 12:27 linyx 阅读(611) 评论(0) 推荐(0) 编辑