算法五 递归方式实现暴力破解

Posted 馥钰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法五 递归方式实现暴力破解相关的知识,希望对你有一定的参考价值。

本篇文章根据左程云视频教程整理而来

https://www.bilibili.com/video/BV11v411G7xR?p=6

问题:

子串

子序列

 

1、打印一个字符串的所有子串

 递归:index 位置要或者不要的递归

2、打印一个字符串的所有子串,要求不要出现重复值的子序列

无重复的子序列,HashSet天然去重用的

 3、打印一个字符串的全排列

 

  4、打印一个字符串的全排列,要求不要出现重复的排列

关键改动:某个位置出现了相同的字符,就返回,不再展开后续位置的递归展开

5、 

6、 

 

 base case   

 1、2展开递归

 7、背包问题

 

 算法一  之前做的选择达到的负重alreadyW

 算法二、剩下的空间

 8、

 举例

 

 

 先手函数、后手函数

 

 

 

总结:

暴力破解:利用递归的方式。

1、抽象出问题模型,比如先手函数、后手函数;背包问题:分析index位置的数选或者不选,然后递归index+1。递归的单步过程!

2、分析base case,这个才是把结果累加起来的值

 

以上是关于算法五 递归方式实现暴力破解的主要内容,如果未能解决你的问题,请参考以下文章

暴力破解 twosum 算法

Leetcode拾萃(算法篇)——暴力破解(DFSBFSpermutation)

决策树算法检测telnet暴力破解

破解aes密码

archpr 压缩文件暴力破解

如何防止暴力破解?