Я написал рекурсивный алгоритм, который проходит по небинарной древовидной структуре. Структура состоит из каталогов или файлов.
Алгоритм берет входной каталог (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
}
}