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