数据结构与算法OJ
Yoosona
哈哈哈哈
展开
-
KMP模式匹配算法之next数组解析
一,什么是kmp模式匹配算法?百度百科: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特–莫里斯–普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息。也叫看毛片算法,总之贼厉原创 2017-08-14 22:22:12 · 5187 阅读 · 0 评论 -
理解二叉树建立过程的例题
题目要求建立二叉树并输出每个字符所在的层数 代码示例#include <stdio.h>#include <stdlib.h>typedef char TElemType;typedef struct BiTNode{ char data; struct BiTNode *lchild, *rchild;} BiTNode, *BigTree;//创建二叉树,约定按照前序遍原创 2017-08-16 18:45:34 · 753 阅读 · 1 评论 -
最大子列和问题
题目给定N个整数的序列{A1,A2,....ANA_1,A_2,....A_N},求函数f(i,j)=max{0,∑jk=iAk\sum_{k=i}^jA_k}的最大值.解法算法1: 该算法时间复杂度T(N) = O(N3)int MaxSubseqSum1(int A[], int N) { int ThisSum, MaxSum = 0; int i, j,原创 2017-10-22 11:18:30 · 486 阅读 · 0 评论