
数据结构
mr_zys
这个作者很懒,什么都没留下…
展开
-
数据结构 树
这里先研究的是二叉树。一、二叉树的三个基本性质1、若二叉树结点的层次从 1 开始, 则在二叉树的第 i 层最多有2的( i-1)次方 个结点。( i≥1)2、深度为 k 的二叉树最少有 k 个结点,最多有2的( k-1)次方个结点。( k≥1 )3、对任何一棵二叉树,如果其叶结点有 n0 个, 度为 2 的非叶结点有 n2 个, 则有n0=n2+1。 下面简单的证明原创 2013-01-25 18:23:52 · 488 阅读 · 0 评论 -
KMP小讲
设文本为T,模式串为P暴力法匹配 从T的第一个字符开始匹配,然后从T的第二个字符开始匹配,依次匹配下去,直到匹配成功。设i为正在匹配的字符,那么此时有 T[s+1]...T[s+i] = P[1]...P[i]。可以知道这个部分的字符串是匹配成功的,记为S。如果S很长(在i之前很多字符都匹配),那么暴力法就重复判断了S这部分的字符,浪费了时间。KMP就是在这里优化匹配的时间的复原创 2013-07-17 15:38:28 · 647 阅读 · 8 评论 -
双端堆/最小-最大堆/Double-Ended Heap ?
Uva 11136 - Hoax or what 这道题可以用优先队列做,这里讨论一下用最小-最大堆做。 题目的要求:需要找到最小值和最大值,并且还有删除最小值和最大值。 这样就需要一种包括下面几种操作的数据结构: insert 插入一个元素 get_min() 得到最小元素,并将其从集合中删除 get_max()的到最大元素,并将其从集合中删除 如果只是需要找原创 2013-08-08 10:39:12 · 2075 阅读 · 0 评论