08 2013 档案

字符串的模式匹配
摘要:问题描述:如果子串T在主串中存在,则返回存在的位置,如果不存在,则返回-1。1.基本方法从主串的第pos位置字符开始和模式子串字符比较,如果相等,则继续逐个比较后续字符;否则从主串的下一个字符起再重新和模式子串的字符比较。直到找到匹配字符串或者是主串结尾。伪代码如下:Index(T,S,pos) i length[S] return i-lenght[S] else return -1;例如,主串T为:ababcabababab,子串为ababa,上述过程如下图所示。源代码如下:/*检测从主串T的pos位置开始,是否有和子串S匹配,如果有返回匹配开始位置,如果没... 阅读全文

posted @ 2013-08-12 14:32 lufangtao 阅读(20717) 评论(0) 推荐(0)

红黑树
摘要:一、红黑树性质一棵二叉查找树如果满足下面的红黑性质,则为一棵红黑树:1) 每个结点或是红的,或是黑的。2) 根节点是黑的。3) 每个叶结点(NIL)是黑的。4) 如果一个结点是红的,则它的两个儿子都是黑的。5) 对于每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点。引理:一棵有n个内结点的红黑树的高度至多为2log2(n+1)。二、旋转 左旋以x到y之间的链为“支轴”进行。它使y成为该子树新的根,x成为y的左孩子,而y的左孩子成为x的右孩子。左旋的伪代码如下: 1 LEFT-ROTATE(T,x) 2 y <- right[x] ;Set y 3 ... 阅读全文

posted @ 2013-08-01 10:59 lufangtao 阅读(849) 评论(0) 推荐(0)

导航