안녕하세요, 나는 디렉토리에있는 모든 파일과 모든 파일의 이름 목록을 만들려고 노력하고 있지만 모두 재귀 알고리즘을 사용해야합니다. 임 오른쪽 트랙에 메신저 확실하지 않은! 아주 새로운 C#재귀 알고리즘
재귀 알고리즘
답변
에를 나는 보통 큐와 함께 이런 종류의 작업을 수행합니다
// Make sure rootDir exists first...
var files = new List<string>();
var dirs = new Queue<string>();
dirs.Enqueue(rootDir);
while(dirs.Count > 0) {
var dir = dirs.Dequeue();
foreach(var fileName in Directory.GetFiles(dir)) {
files.Add(fileName);
}
foreach(var subDir in Directory.GetDirectories(dir)) {
dirs.Enqueue(subDir);
}
}
// Now populate your list with the files collection.
+1 쓸데없는 기능을 가진 스택을 버리지 않기 위해 +1 인라인 될 수없는 전화! –
+1이 패턴입니다. 비록 내가 C#에서 CLR 컴파일러에서 Tail이 부족하다는 사실을 부끄러워 할 것 같아서 재귀가 더 좋아 지긴하지만. 그러나 나는 List보다는 yield를 선호한다. – Aron
예, 이것에 기반한 실제 코드는 반복기 블록으로 구현됩니다. 약 1,000,000 xml 파일의 디렉토리 구조를 처리하는 데 사용하고 있습니다 ... –
- 1. 재귀 알고리즘
- 2. 재귀 대 반복 알고리즘
- 3. 재귀 워드 랩 알고리즘
- 4. 하노이 타워의 재귀 알고리즘
- 5. 무한 루프 재귀 알고리즘
- 6. 간단한 재귀 알고리즘 메커니즘
- 7. 재귀 단어 검색 알고리즘
- 8. 재귀 미로 알고리즘
- 9. DBSCAN 알고리즘 (재귀 논리)
- 10. 홍수 채우기 재귀 알고리즘
- 11. 알고리즘 : 재귀 함수 이해
- 12. 분산 시스템에서 재귀 알고리즘
- 13. 재귀 경계 배낭 알고리즘
- 14. 재귀 알고리즘 홍수 채우기
- 15. 최단 경로 알고리즘 재귀
- 16. 유클리드 재귀 알고리즘
- 17. 알 수없는 재귀 알고리즘
- 18. I이 재귀 기능이 알고리즘 로직
- 19. 안드로이드 업데이트 ui에서 재귀 알고리즘
- 20. 이진 검색 재귀 알고리즘 문제
- 21. subset-sum 알고리즘 및 재귀
- 22. 재귀 최소 스패닝 트리 알고리즘
- 23. 재귀 동전 변경 알고리즘 추적
- 24. 꼬리 재귀 대 반복 알고리즘
- 25. 수동으로 왼쪽 재귀 알고리즘 제거
- 26. 반복적 인 등가 재귀 알고리즘
- 27. 재귀 혼란 -로드 커팅 알고리즘
- 28. 자바에서 집합의 조합을 찾는 재귀 알고리즘
- 29. 재귀 메서드가 계속 충돌합니다 (알고리즘 변경)
- 30. Java 재귀 홍수 채우기 알고리즘 관련 문제
1) 왜 * 필요 * 재귀 알고리즘을합니까? 이것은 비 재귀 적으로 성취 될 수있다. 2)'Recursive '는 당신의 메소드가 어떤 식 으로든 자신을 호출한다는 것을 의미합니다. – Corey
http://stackoverflow.com/questions/6061957/get-all-files-and-directories-in-specific-path-fast –
내 소프트웨어 엔지니어링 친구가 재귀 알고리즘을 사용하는 것이 더 쉬울 것이라고 말했습니다. – user2118473