에 대한 복잡도 분석 결과로 오늘 수정 된 디렉토리 및 하위 디렉토리의 파일을 나열하는 Java 코드를 작성했습니다. 시간과 공간의 복잡성을 이해하는 데 약간의 도움이 필요합니다.코드
코드 :
공용 클래스 FileInDir {
File[] files = null; Date d = new Date(); long mill; public void listTodayFiles(String path) { File dir = new File(path); files = dir.listFiles(); for(File file : files){ mill = file.lastModified(); Date f = new Date(mill); if(f.getDate() == d.getDate()){ if(file.isFile()) System.out.println("FILE: " + file.getName() + " WAS LAST MODIFIED ON: " + f); else if(file.isDirectory()) listTodayFiles(file.getAbsolutePath()); } } }
}
그래서 내가 이해에서
는, 배열에있는 모든 파일을 저장하는 O 소요 (n)의 시간 , 루프 O (n) 시간이 걸립니다. 재귀 호출의 복잡성에 대해서는 확신 할 수 없습니다. If 문이 시간이나 공간의 복잡성에서 중요한 역할을하는지 확신 할 수 없습니다. 또한 각 요소 (파일)를 저장해야하기 때문에 공간 복잡성은 O (n)이됩니다.
감사합니다 : D
[빅 오, 당신은 어떻게 계산합니까/대략입니까?] (http://stackoverflow.com/questions/3255/big-o-how-do-you-calculate-approximate-it) – Suma