树是非线形结构,这决定了它不是一定要线性存储,这样对于大块连续内存的要求较小,有利于提高计算机资源利用率。一个例子是linux操作系统的文件系统,绝大多数都是以树的形式存储的。
下图是linux ext4文件系统的示意图:
就如上面的哥们所说,搜索文件的时候,或者在cp -r的时候,也都运用到了DFS。
和最上面的哥们有一些不同的看法,软件开发中其实在通用场景树比图的出现概率要更高一些。而DFS的用处很多时候依赖于树的功能,比如二叉搜索树DFS就是可以等价理解为O(N)排序过程。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…