![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 55
leehyukshuai
学生一枚,文章如有错误望指正~
展开
-
【定量分析】插入排序运行时间与输入数组元素排列之间的关系
插入排序的时间复杂度的更精确的量度应该为:$\Theta(n+m)$,其中n为数组规模,m为数组逆序对数。原创 2023-01-04 21:08:14 · 224 阅读 · 0 评论 -
从暴力算法一步步走到KMP算法
学习kmp算法时,总是不理解为什么**应该**这样,next数组的提出和初始化实在是把人绕的头晕。我觉得,不是自己太愚笨,理解不了如此高深莫测的kmp,而是说,很多教程都是站在巨人的肩膀上告诉我们应该怎样云云,而不是指引我们一步步爬到高处,毕竟没有经历过程的洗礼,一蹴而就的理解自然是很困难的事情。因此本文就从Brute Force开始,经过不断的分析、消除不必要的回溯,来最终得到并真正地理解kmp算法。原创 2022-09-30 19:12:11 · 300 阅读 · 0 评论 -
POJ Project Summer
小 I 和小 B 最近沉迷一款叫做《Project Summer》的游戏,小 I 扮演这个游戏中需要逃生的无辜者(Innocent), 小 B 扮演这个游戏中抓住无辜者,阻止其逃生的背叛者(Betrayer)。这个游戏的地图是一个 N 行 M 列 的矩形,每个格点表示一个位置。 '#' 表示地图中的障碍物,'.' 表示地图中的空地,此外,地图中还有只有背叛者才能使用的传送门,用小写字母 'a' - 'z' 标记,它们在地图上成对出现。角色可以花费 1 单位的时间从一个格子走到上下左右相邻的 4 ..原创 2022-06-23 21:10:03 · 985 阅读 · 0 评论 -
最佳加法表达式POJ
B:最佳加法表达式总时间限制:1000ms内存限制:65536kB描述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36输入有不超过15组数据每组数据两行。第一行是整数m,表示有m个加号要放( 0<=m<=50)第二行是若干个数字。数字总数n不超过50,且 m <......原创 2022-05-22 10:47:25 · 181 阅读 · 0 评论 -
二叉树 先根/中根/后根/层级 递归/非递归 周游的总结C++
观前提示:代码没有注释,里面有很多是参考别人的代码,算是备忘录。先是我二叉树的实现方式:class node{public: int info; node *lLink, *rLink; node(int _info) : info(_info), lLink(NULL), rLink(NULL) {}};然后是周游算法:// 递归实现void preOrder(node *root){ if (root == NULL) return;原创 2022-05-03 10:43:09 · 1362 阅读 · 0 评论