- 博客(4)
- 收藏
- 关注
原创 回溯算法及其剪枝操作
在我们解决实际问题的时候,经常会遇到一种情况。即是我们现在面临很多种选择,我们需要先从中选择一个选项,然后基于这个选项又会派生出很多新的选项,接着重复这种操作,直到到达最终状态。举一个经典的例子:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。这个问题又被称为n皇后问题。在构想具体的实现方法之前不如让我们现在棋盘上摆摆看。由于8×8棋盘的情况过于复杂,所以笔者在这里使用4×4的棋盘来举例。
2023-05-09 14:48:53
1124
1
原创 滑动窗口算法
本文介绍了滑动窗口算法在两种不同情况下的应用。在例1中,滑动窗口的大小是可以改变的,这是因为我们预先不知道我们需要寻找的子串的长度,需要不断更改滑动窗口的大小来寻找我们的目标串。在例2中,滑动窗口的大小是不变的,这是因为我们预先知道了我们需要查找的内容,通过不断移动滑动窗口来查看内容是否匹配。滑动窗口算法在字符串匹配以及计算机网络的拥塞控制部分有着较多的运用,但是由于笔者还需要在该方面进行更加深入的学习,所以本文的分享就在这里告一段落了,希望大家可以变得更强!
2023-04-19 10:55:50
331
1
原创 使用环状替换法解决轮转数组问题
那么至此,三种对于实现轮转数组操作的算法就全部介绍完了。我们可得出对于算法的优化我们可以采用以时间换空间和以空间换时间的方法,但是在有些时候我们也可以想到一些即节省时间由节省空间的方法,但是会格外费脑子(
2023-04-14 22:15:26
784
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人