ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

77-组合

2021-03-14 22:35:31  阅读:148  来源: 互联网

标签:遍历 组合 收集 结果 元素 77 递归 回溯


GET{

 

  方法(){

    1 这一题是回溯算法的第一类经典题目, 组合问题

 

    2 回溯法出现的原因是: 其实本没有回溯法, 有的只是递归, 回溯法出现只是因为递归的过程中为了收集元素, 使用了一个共同的容器, 由于本次收集的结果会影响下一次收集的结果, 所以, 我们需要在本次收集完结果并进行收集完结果进行相应判断之后, 把本次收集的元素去除, 以方便下一次结果的收集

 

    3 他们说, 回溯法是和for循环一起出现的, 其实不尽然, 这两个并没有太大的关系, 回溯法出现就是因为递归方法使用一个共同的容器收集结果集

 

    4 但是, for循环的出现, 会更能让我们理解回溯法的基本思想, 因为for循环遍历的元素, 在地位上是同等的, 将这个元素收进容器中, 肯定会对下一次的元素遍历造成影响, 所以, 我们操作完一个元素, 就需要去除这个元素对下一次遍历元素造成的影响

 

    5 只对于这个问题(组合问题)而言, 我最大的纠结之处在于, 在写代码之前, 没有搞清楚进行元素组合的收集是一个怎么样的过程, 从而导致写代码的时候没有兼顾好各种条件, 写成之后改错时, 哪里错了改哪里, 最终还是没有能够成功的通过, 没有把眼界放在整个程序之中.

 

    6 所以, 我们要认识到, 算法题, 是通过代码中的逻辑来简化我们实际解决问题的逻辑, 这一点的前提是, 我们必须要把这个实际问题的正常处理逻辑搞清楚, 这样, 我们才能更清楚的知道, 代码到底应该怎么样的运行

  }

 

}

标签:遍历,组合,收集,结果,元素,77,递归,回溯
来源: https://www.cnblogs.com/longxingzhe/p/14534606.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有