您当前的位置: 首页 >  面试

宝哥大数据

暂无认证

  • 1浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

递归与回溯 知识点 面试考点

宝哥大数据 发布时间:2020-05-26 22:56:33 ,浏览量:1

一、递归 1.1、递归需要遵守的重要规则
  • 执行一个方法时,就创建一个新的受保护的独立空间(栈空间)
  • 方法的局部变量是独立的,不会相互影响, 比如n变量
  • 如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据.
  • 递归必须向退出递归的条件逼近,否则就是无限递归,出现StackOverflowError,死龟了:)
  • 当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。

在这里插入图片描述

二、回溯算法

  回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就 “回溯” 返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为 “回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。

  回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。

2.1、leetcode训练
  • 401. 二进制手表
  • 组合+回溯
  • 全排列+回溯
  • 22. 括号生成
2.1.1、相同的集合元素“去重复”: 预排序+按顺序读取候选元素+回溯
  • 39. 组合总和
  • 90. 子集 II 解法二
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0410s