zoukankan      html  css  js  c++  java
  • 递归遍历全排列个人见解

    针对递归有两种模式。

    1.针对原数据进行修改。

    2.每次都new出数据放入递归。

    1.

    
    
     1     private static boolean visited[]=new boolean[num];
     2     private static void DFS(List<String> str,String out,int count) {
     3     //    if(visited[0]==true&&visited[1]==true&&visited[2]==true&&visited[3]==true)
     4         if(count==num)                      //判断条件
     5             System.out.println(out);
     6         for(int i=0;i<str.size();i++)
     7         {
     8             if(false==visited[i])
     9             {
    10                 visited[i]=true;                //标记当前已访问
    11                 count++;            
    12                 DFS(str,out+str.get(i),count);
    13                 count--;                     
    14                 visited[i]=false;                //恢复状态
    15 } 16 } 17 }
    
    

    2

     1     private static void DFS(List<String> str,String out,int count) {
     2     //    if(visited[0]==true&&visited[1]==true&&visited[2]==true&&visited[3]==true)
     3         if(count==num)
     4             System.out.println(out);
     5         for(int i=0;i<str.size();i++)
     6         {
     7             if(false==visited[i])
     8             {
     9                 LinkedList linkedlist=new LinkedList(str);          //进入DFS之前创建新元素
    10                 count++;
    11                 DFS(linkedlist,out+linkedlist.remove(i),count);        //每次进去之前把当前的删去
    12                 count--;
    13             }
    14         }
    15     }
     
  • 相关阅读:
    docker(六):Dockerfile详解
    docker(五):存储卷管理
    安装VCenter 6.7
    VMware Workstation 不可恢复错误:(vmui) VERIFY bora
    HP DL360 G7安装esxi 6.0
    zabbix 4.0故障归纳
    docker(四):容器虚拟化网络概述
    安装VCenter 6.7时报错“系统未安装通用C”
    zookeeper查看日志
    zabbix(一):zabbix 4.0安装
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3583178.html
Copyright © 2011-2022 走看看