daxueyuan
batbat123
这个作者很懒,什么都没留下…
展开
-
复习二叉树
一些不熟悉的基本概念结点的度(degree):结点拥有的子树的棵数叶子leaf:度为0分支结点:除了叶子结点意外的结点树的度:树中结点的度的最大值深度为k的二叉树,至多有2^k-1个结点对于任何一颗二叉树,如果其叶子结点数为N0,度为2的结点树为N2,那么N0=N2+1总的边数为N,N=N0+N1+N2-1,因为根结点没有边,所以减去一个1 N=1xN1+2xN2,度为一的点有一条边,度为二的点有两条边两个式子结合就得到N0=N2+1满二叉树与完全二叉树的区别(最后一层从左到右有原创 2021-09-12 22:34:20 · 1646 阅读 · 0 评论 -
关于KMP算法的改进nextval数组と坏字符规则
kmp googlenext 011121 【这里next的意思是如果匹配失败,下一步对比哪一个位置的字符】与goolggoogle相对比时第四位与g不相等时,按照kmp算法,需要将第一位与第四位再对比一次,但是对于google来讲,第一个和第四个都是g,所以会造成多余的步骤,这里引入nextval数组nextval a a a a bnext 0 1 2 3 4nextval 0 00 0 4如果这个字符与next数字位置的字符一样,那么nextval就直原创 2021-09-12 21:48:09 · 345 阅读 · 0 评论 -
算法复习(一)汉诺塔问题,斐波那契数列,上智过去问
汉诺塔问题时间复杂度是2^nT(n)=2T(n-1)+1通过等比数列 T(n)+1=2(T(n-1)+1)当n=1时,T(1)=1T(n)+1=2^npublic class han { public static void main(String[] args) { hanno(3, "A", "B", "C"); } public static void hanno(int n, String start, String middle, Strin原创 2021-09-10 16:26:38 · 214 阅读 · 0 评论