找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1692|回复: 0
打印 上一主题 下一主题

php遍历树的常用方法汇总

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 05:45:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了php遍历树的常用方法。分享给大家供大家参考。具体如下:
一、递归的深度优先的算法:
----------------------- Test run for '.$func.'() ';
  flush();
  $time_start = microtime(true);
  $list = $func($trydir);
  //print_r($list);
  $time = microtime(true) - $time_start;
  echo 'Finished : '.count($list).' files';
  $mem2 = memory_get_peak_usage();
  printf('Max memory for '.$func.'() : %0.2f kbytes Running time for '.$func.'() : %0.f s',
  ($mem2-$mem1)/1024.0, $time);
  return $list;
}
profile('rec_list_files', "D:\www\server");
?>
二、递归的深度优先的算法(用了一个栈来实现)
----------------------- Test run for '.$func.'() ';
  flush();
  $time_start = microtime(true);
  $list = $func($trydir);
  //print_r($list);
  $time = microtime(true) - $time_start;
  echo 'Finished : '.count($list).' files';
  $mem2 = memory_get_peak_usage();
  printf('Max memory for '.$func.'() : %0.2f kbytes Running time for '.$func.'() : %0.f s',
  ($mem2-$mem1)/1024.0, $time);
  return $list;
}
profile('deep_first_list_files', "D:\www\server");
?>
三、非递归的广度优先算法(用了一个队列来实现)
NEXT CHILD
  }
  return $files; // end of tree, file not found
}
function profile($func, $trydir)
{
  $mem1 = memory_get_usage();
  echo '----------------------- Test run for '.$func.'() ';
  flush();
  $time_start = microtime(true);
  $list = $func($trydir);
  //print_r($list);
  $time = microtime(true) - $time_start;
  echo 'Finished : '.count($list).' files';
  $mem2 = memory_get_peak_usage();
  printf('Max memory for '.$func.'() : %0.2f kbytes Running time for '.$func.'() : %0.f s',
  ($mem2-$mem1)/1024.0, $time);
  return $list;
}
profile('breadth_first_files', "D:\www\server");
?>
希望本文所述对大家的php程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php FLEA中二叉树数组的遍历输出
  • PHP Class&Object -- PHP 自排序二叉树的深入解析
  • php通过前序遍历树实现无需递归的无限极分类
  • PHP实现二叉树的深度优先与广度优先遍历方法
  • PHP实现的线索二叉树及二叉树遍历方法详解
  • php实现的二叉树遍历算法示例
  • PHP构造二叉树算法示例
  • PHP完全二叉树定义与实现方法示例
  • PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端