DFS() 루프를 for_each 루프로 대체하는 방법은 무엇입니까? 그래프 나 다른 사이트를 만들 수있는 다른 방법이 있다면 알려 주시기 바랍니다. 경쟁적으로 프로그래밍 할 때 기본적으로 사용할 수있는 STL을 통해 Graph를 가르칩니다. ? 전체 코드 http://ideone.com/iXO9QODFS 및 for_each로 대체
0
A
답변
1
DFS에서 그 루프가 매우 간단합니다, 그래서 당신이 그것에 대해 for_each를 사용할 필요가 의심에 대한
void DFS(int s)
{
visited[s] = true;
cout<<s<<" \n";
for(vector<pair<int,int> >::iterator it=AdjList[s].begin();it!=AdjList[s].end();it++)
{
if(!visited[it->first])
{
//cout<<it->first<<endl;
DFS(it->first);
edgeTo[it->first]=s;
}
}
}
. 그리고 당신의 정보,
vector<pair<int,int> >::iterator it=AdjList[s].begin();
은 당신의 코드에서 많은 부피를 줄일 자동 키워드를 사용
auto it=AdjList[s].begin();
수 있습니다.
개인적으로 나는 모든 주요 그래프 알고리즘을 STL로 구현했습니다. 코드를 보면, 이미 경쟁 프로그래밍에 대한 올바른 길을 가고 있다고 말합니다. boost는 모든 종류의 readymade 라이브러리를 제공하지만 STL은 그래프 알고리즘을 구현하기에 충분합니다.
+0
Ya Thnx ... nw atleast 나는 알고있다. 나는 헛되이 노력하지 않고있다 ... – CoderBoy
관련 문제
- 1. 재귀 DFS 트리 순회를 스택으로 대체 하시겠습니까?
- 2. DFS 및 스택
- 3. DFS 및 BFS 출력?
- 4. 파이썬 DFS 및 BFS
- 5. DFS의 DFS, 알려진 문자열의 DFS
- 6. DFS 재귀 대 DFS 반복
- 7. DFS 검색 및 마감 시간
- 8. DFS 및 SMB (jcifs) Java에서 발행
- 9. Hadoop DFS 및 MapReduce에 대한 의문점
- 10. Lucene 색인 및 Windows DFS 복제
- 11. DFS, BFS, A *
- 12. 10x10 격자의 DFS
- 13. DFS : 스패닝 트리의 존재
- 14. DFS stackoverflow 오류
- 15. 비 재귀 DFS 구현
- 16. 'hdfs dfs -ls'와 'hdfs dfs -ls /'의 차이점
- 17. 하둡 오류가 -copyFromLocal DFS
- 18. 파이썬 : DFS 최적화 알고리즘?
- 19. 우회향 그래프의 DFS 트리
- 20. 재귀 DFS 루비 방법
- 21. 이클립스 연결 DFS 위치
- 22. DFS Traversal Iterative
- 23. DFS Maze Generator
- 24. 위상 정렬을 사용하여 DFS
- 25. Python의 DFS 그래프 생성
- 26. 하둡 DFS 오류
- 27. 오일러 경로 DFS 구현
- 28. 가장자리의 DFS 분류가 유효합니까?
- 29. 부스트 DFS back_edge
- 30. 이 그래프에 DFS 사용
[Boost Graph library] (http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/index.html)에서 살펴볼 수 있습니다. 모든 텍스트 북 그래프 알고리즘을 구현할 수 있으며 매우 효율적이고 컴팩트 한 C++로 제공됩니다. –
고마워,하지만 BGL은 간단한 gcc에 포함되어 있지 않다고 생각한다. 그렇기 때문에 심사 위원에게 코드를 제출하는 동안 사용할 수 없지만 프로젝트에서 사용할 수있다 ....... – CoderBoy