#我的实习求职记录#
实习求职进展打卡:学习回溯算法
如何在每一层中做选择:使用for循环遍历选择列表
如何剪枝:剪枝一般是在for循环中,遇到符合条件(如排列问题中使用过的元素),使用continue跳过。
如何在深度上修改选择列表(同树枝上的剪枝问题):在组合问题中,用的是start_index来跳过n中已经选择过的元素。在无重复元素的排列问题中,使用vector标记元素是否使用过,用过则跳过。
如何在宽度上修改选择列表(同层的剪枝问题):在有重复的排列问题中,先对选择列表进行排序,然后做选择时就可以根据前一个元素是相同的进行剪枝。
如何在节点上收集结果,而非只在叶子节点上收集:在子集问题中,其实就是把组合问题解法里面等到个数够了再收集,改成每次递归时收集
实习求职进展打卡:学习回溯算法
如何在每一层中做选择:使用for循环遍历选择列表
如何剪枝:剪枝一般是在for循环中,遇到符合条件(如排列问题中使用过的元素),使用continue跳过。
如何在深度上修改选择列表(同树枝上的剪枝问题):在组合问题中,用的是start_index来跳过n中已经选择过的元素。在无重复元素的排列问题中,使用vector标记元素是否使用过,用过则跳过。
如何在宽度上修改选择列表(同层的剪枝问题):在有重复的排列问题中,先对选择列表进行排序,然后做选择时就可以根据前一个元素是相同的进行剪枝。
如何在节点上收集结果,而非只在叶子节点上收集:在子集问题中,其实就是把组合问题解法里面等到个数够了再收集,改成每次递归时收集
全部评论
大佬们都好努力
准备投哪个厂?
相关推荐
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java 点赞 评论 收藏
分享