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

  • 相关阅读:
    Win7停止更新升Win10教程
    linux 进程管理
    linux vi/Vim编辑器
    linux 文件管理
    linux 目录管理
    [开发笔记]-C#判断文件类型
    [开发笔记]-C#获取pdf文档的页数
    [转载]每周问问你的团队这10个问题
    [转载]番茄时间管理法(Pomodoro Technique):一个番茄是如何让你工作更有效率的
    [开发笔记]-Linq to xml学习笔记
  • 原文地址:https://www.cnblogs.com/zym0m/p/7043707.html
Copyright © 2011-2022 走看看