这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

spring

spring 框架

    模板:

    1. 函数模板返回值和参数 返回值是void 参数一般不确定,可以先写逻辑,然后需要参数再填
    2. 终止条件 一般是到了叶子结点,也就是满足条件的一条答案,把这个答案存起来,并结束本层递归。 if(终止条件){ 存放结果; return; }
    3. 遍历过程 一般是在集合中递归搜索,集合的大小构成了树的宽度,递归的深度构成树的深度。 for(选择:本层集合元素(树中节点孩子的数量就是集合的大小)){ 处理节点; backtracking(路径,选择列表)//递归 回溯,撤销处理结果 }

    for循环可以理解是横向遍历,backtracking是纵向遍历。

    分析完过程,整个框架如下:

    void backtracking(参数){
      if(终止条件){
        存放结果;
        return;
      }
    
      for(选择:本层集合元素(树中节点孩子的数量就是集合的大小)){
        处理节点;
        backtracking(路径,选择列表);//递归
        回溯,撤销处理结果
      }
    }