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;
    }

  • 相关阅读:
    秀秀我的PENTAX的手动标头
    软件测试工具
    071226 冷
    071228晴转雨
    长假计划
    Merry Christmas
    信宿事件
    並べ替えーーバブルソート等
    收藏
    实践浪漫
  • 原文地址:https://www.cnblogs.com/zym0m/p/7043707.html
Copyright © 2011-2022 走看看