php遍历树的常用方法有哪些-创新互联
这篇文章主要介绍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遍历树的常用方法有哪些-创新互联
转载源于:http://www.jxjierui.cn/article/dshdeo.html


咨询
建站咨询
