数据结构
LawGeorge
这个作者很懒,什么都没留下…
展开
-
使用栈(非递归方法)解决斐波那契数列问题
解决斐波那契数列问题可以使用递归,迭代,以及使用栈等方法,下面讲述使用栈的方法。首先,我们从数列的递归调用树就可以发现一些信息。要求第n个斐波那契数,就要向左下和右下走两步。所以使用结构体,其中dir表示向左还是向右,1为向左,0为向右。struct node{ int value; //代表要求的第x个数 int dir;};采用累加的方式算出结果:当value原创 2017-10-04 15:47:37 · 5681 阅读 · 1 评论 -
KMP算法求next数组的方法
next数组的求解方法是(这里规定next[0]=-1,next[1]=0):j 0 1 2 3 4 5 6 7 P a b a a b c a c next -1 0 ? 求next[j=2],则先将P[2-1]=b和...原创 2017-12-03 16:10:15 · 4480 阅读 · 0 评论 -
简单运用Hash_map
#define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 1 //在VisalStudio2017上运行时报不安全加上#include#include#includeusing namespace std;struct MyHash //自定义hash函数与比较函数{ size_t operator()(const原创 2017-12-16 15:47:48 · 769 阅读 · 0 评论 -
KMP算法运用next数组解决匹配
j 0 1 2 3 4 5 6 7 P a b a a b c a cnext(j)-1 0 0 1 1 2 0 1第一趟: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16目标 a c原创 2018-01-07 16:41:01 · 447 阅读 · 0 评论