
算法&数据结构
ordeder
关注Linux&TCPIP&Nginx&Redis
展开
-
插入最少的字符使字符串成为回文
给定一个字符串S,可以通过在字符串的任意位置插入字符,使其变为回文串。求最少插入字符的数量。原创 2013-10-18 23:21:23 · 9152 阅读 · 1 评论 -
Nginx源码学习-双向链表(ngx_queue_t)实现及实例分析
Nginx双向链表ngx_queue_t是采用"寄宿"在元素中的包含prev和next的ngx_queue_s来实现的。Linux内核中的page管理同样也使用到了这样的链接结构。linux内核情景分析 这样描述道:linux内核作者将prev和next从具体的“宿主”数据结构中抽象成为一个结构体list_head,这样list_head就可以成为该“宿主”的“连接件”。用ngx_queue_t结构串接起来的链表可以是不同类型的数据类型(只要这个数据类型包含ngx_quque_t这个数据结构)。打个不恰当的原创 2013-12-01 19:23:00 · 4244 阅读 · 6 评论 -
Python源码 -- C语言实现面向对象编程(基类&派生类&多态)
python是面向对象的解释性语言,然而python是通过C语言实现的,C语言怎么跟面向对象扯上了关系? C语言可以实现面向对象的性质?原创 2014-05-08 12:41:16 · 2620 阅读 · 0 评论 -
Python源码--整数对象(PyIntObject)的内存池
由于python中的整数对象记录的整数值是不可变的,所以在名字a的值不断变化的过程中,就就涉及到了多次对象的创建和销毁。所以python为整数对象申请空间进行了两种优化: 优化1:为通用整数对象存储池 优化2:为小整数对象构建特殊的缓冲 PyIntObject分为小整数对象[-5~257)及大整数对象。小整数对象在py启动过程中初始化,从而实现小整数对象的缓存,缓冲中的小整数对象在py运行期间不会被销毁。 大整数对象需要程序员动态申请,对象在运行过程中根据ob_refcnt引原创 2014-05-08 23:29:21 · 4391 阅读 · 4 评论 -
PostGreSQL--内存上下文(内存池)
背景 看了几个内存池的设计,如python,STL,基本上对内存的管理有两种结构: 1.block,即内存的一个块,一般和内存页(pagesize)大小相关。 2.内存分片,即在该内存块上分配要使用的内存空间。 例如python的pyIntObject中使用到的缓冲池的实现: http://blog.youkuaiyun.com/ordeder/article/details/25343633原创 2014-06-17 15:53:34 · 4204 阅读 · 1 评论