我编写了一个遍历非二叉树结构的递归算法。该结构由目录或文件组成。
该算法采用输入目录 ( curDirectory
) 并首先遍历树深度。当它到达分支的底部时,它会查找文件并打印一些信息。然后它返回一个级别,查找文件并打印内容,等等。我们不知道目录中子目录或文件的数量。
如何分析该算法的最坏情况和平均情况时间?
for(int i = 0; i < curDirectory.getChildren().size(); i++){
if (curDirectory.getChildren().get(i) instanceof INodeDirectory)
blockCounter = blockCounter + digAndCount((INodeDirectory)curDirectory.getChildren().get(i));
}
for(int i = 0; i < curDirectory.getChildren().size(); i++){
if (curDirectory.getChildren().get(i) instanceof INodeFile) {
// print stuff and do other stuff
}
}