数据结构与算法
千羽流金
这个作者很懒,什么都没留下…
展开
-
二叉树的层序遍历
二叉树的层序遍历要求从上到下,从左到右遍历整颗树;这里提供两种解法,都是使用单队列。二叉树的定义如下:// C++//Definition for a binary tree node.struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};解法一: 使用 n...原创 2020-09-22 19:56:53 · 223 阅读 · 0 评论 -
KMP算法详解
引言:KMP算法是一个子串匹配算法,即在一个主串 S 中寻找给定字串 T 的算法。KMP算法用于字符串的顺序存储结构的字串匹配。对于子串匹配,简单粗暴的解法肯定是从主串的第一个字符开始,与待匹配字串进行比较。如果发现与字串不能完全匹配(相等),就倒退到主串的第二个字符开始。。。然后从第三个字符开始。。。,一直到最悲惨的比较到主串的最后一个字符。在这个算法中,一旦在比较过程中出现主串中的某个字符与子串中的字符不相等的情况,主串的指针 i 就必须得回到刚开始匹配位置的下一个位置(回溯),相当于走 n原创 2020-08-04 22:14:16 · 432 阅读 · 0 评论