摘要: 就是两个串,s[N]是长串,p[M]是短串 习惯上下标从1开始 暴力做法: 就相当于每次都只挪动一个位置去匹配下一位。红色和绿色圆圈说明这个位置不匹配,将红色短线向右移动一个位置重新匹配。 KMP优化: 从上面可以看出一些规律,在前面匹配失败的情况下,我们最多可以往后移动多少位让他继续匹配。 我们要 阅读全文
posted @ 2021-03-25 23:22 晓尘 阅读(195) 评论(0) 推荐(0)
摘要: 2、栈与队列 2.1 栈 先进后出 用tt表示栈顶指针,tt--弹出,tt > 0说明非空 stk[++tt]插入,stk[tt]就是栈顶元素 2.1.1 练手题目 2.1.2 练手答案 #include <iostream> using namespace std; const int N = 1 阅读全文
posted @ 2021-03-25 22:59 晓尘 阅读(54) 评论(0) 推荐(0)
摘要: 1、链表与邻接表 这里用数组模拟,也可以用结构体和指针实现,不过每次都动态new比较慢,直接new一定数量和数据就比较相似了。 单链表:主要用途 邻接表:存储树和图 双链表:优化某些问题 1.1、单链表 e[N]表示某个点的值,ne[N]表示某个点的next指针是多少 所谓的头节点head初始值一般 阅读全文
posted @ 2021-03-25 15:06 晓尘 阅读(228) 评论(0) 推荐(0)