zoukankan      html  css  js  c++  java
  • 递归法解析及应用(杀毒软件怎么遍历文件)

    //公园里有200个桃子,猴子每天吃掉一半,扔掉一个烂的,第6天剩余多少。
    1
    var a=200; 2 for(var i=1;i<7;i++){ 3 a=parseInt(a/2)-1; 4 } 5 alert(a);
    //公园里有一堆桃子,猴子每天吃掉一半,扔掉一个烂的,第6天剩余1个,一共有多少桃子。
    1
    var a=1; 2 for(i=1;i<7;i++){ 3 a=(a+1)*2; 4 } 5 alert(a);

    //递归法
    //当天数量=(下一天+1)*2
    //函数明确:给出天数,输出该天剩余的桃子数量

    1 function shuLiang(ts){
    2     if(ts==6){
    3         return 1;
    4     }
    5     return (shuLiang(ts+1)+1)*2;
    6 }
    7 alert(shuLiang(1));
     分析递归法运行过程:

    1
    //第一次执行 2 function shuLiang(1){ 3 return (shuLiang(1+1)+1)*2; //卡住 4 } 5 //第二次执行 6 function shuLiang(2){ 7 return (shuLiang(2+1)+1)*2; //卡住 8 } 9 //第三次执行 10 function shuLiang(3){ 11 return (shuLiang(3+1)+1)*2; //卡住 12 } 13 //第四次执行 14 function shuLiang(4){ 15 return (shuLiang(4+1)+1)*2; //卡住 16 } 17 //第五次执行 18 function shuLiang(5){ 19 return (shuLiang(5+1)+1)*2; //卡住 20 } 21 //第六次执行 22 function shuLiang(6){ 23 if(6==6){ 24 return 1; 25 } 26 } 27 //此时上面shuLiang(5+1)即是1,便执行第五次,alert4;执行第四次,alert10;执行第三次,alert22;执行第二次,alert46;执行第一次,alert94。

    应用举例:杀毒软件怎么扫描全部文件,采用递归法

    给一个文件夹,求该文件夹下所有文件数量
    函数功能明确:给一个文件夹,返回该文件夹下文件的数量


    function shuLiang(文件夹路径){
         var sum=0;
         打开文件夹遍历所有文件
         if(是文件){
         sum++;
        }else{
              sum=sum+shuLiang(文件夹路径)
        }
        return sum;
    }

  • 相关阅读:
    Linux的常用用法
    docker入门实践01
    airflow安装rest api插件发现airflow webserver服务不能启动的解决办法
    27.Spark中transformation的介绍
    1.Cloudera Manager安装
    win10系统不能ping通vmware虚假机解决办法
    在airflow的BashOperator中执行docker容器中的脚本容易忽略的问题
    AirFlow后台运行调度程序
    Airflow怎么删除系统自带的DAG任务
    airflow删除dag不在页面显示
  • 原文地址:https://www.cnblogs.com/zym0m/p/7043707.html
Copyright © 2011-2022 走看看