This is an old revision of the document!


Algorithm
Recursion
Sort
합병 정렬 (Merge Sort)
Radix Sort (기수 정렬)
Binary Search (이진 탐색)
Dynamic Programming

    private TreeSet<File> getSourceFiles(File srcDir) throws FileNotFoundException {
        if (!srcDir.isFile() && srcDir.listFiles() == null)
            throw new FileNotFoundException("Not found source directory.");

        // 파일 이름순 정렬
        TreeSet<File> files = new TreeSet<File>(new Comparator<File>() {
            public int compare(File o1, File o2) {
                return o1.getPath().compareToIgnoreCase(o2.getPath());
            }
        });

        Stack<File> directories = new Stack<File>();
        directories.push(srcDir);

        // DFS
        while(!directories.isEmpty()) {
            File directory = directories.pop();

            for(File composite : directory.listFiles()) {
                if(composite.isDirectory()) {
                    directories.push(composite);
                }
                else if(composite.isFile()) {
                    files.add(composite);
                }
            }
        }

        return files;
    }

algorithm/algorithm.1666625529.txt.gz · Last modified: by ledyx