각 노드에 (int id, String categoryName)
이 포함 된 그래프 표현이 있습니다. 그리고 약 500,000 개의 노드로 구성됩니다. 지금은 categoryName "computing"
이 그래프에 존재하는지 확인하고 싶습니다. 그러면 BSF 메서드를 사용하는 것처럼 전체 그래프를 통과해야합니까? (내가 틀렸다면 나를 바로 잡아라.) categoryName이 존재하는지 확인하는 것은 꽤 느립니다 (약 3 분 소요). 검색 및 문자열 값 비교 속도를 향상시키는 방법에 대한 조언이 있습니까?그래프의 문자열 비교
0
A
답변
2
다른 데이터가 없다면 그래프를 검색해야합니다.
그러나 사전 처리 및 사용할 수있는 Map<String,Node>
(Node
는 노드 클래스 인 경우) 실제 노드에 문자열에서 매핑하고 특정 String
가 해당 노드가있는 경우 신속하게 찾을 수있다.
사용하여 문자열에서 노드를 얻을 수 있습니다 : map.get(string)
이
당신이 사용할 수있는 TreeMap
해시 테이블을 구현하며 HashMap
((O를 (logn) & 삽입 시간과 주문한를 추구이있는) 이 더 중복을지지 않습니다 어떤 문자열을 나타내는 두 개의 서로 다른 노드가 없습니다 즉 : 및
주) O(1)
평균 경우 & 삽입 탐색 시간이있다.
이 가정이 올바르지 않은 경우 Guava Multimap
+0
네 가정은 옳다. 많은 감사합니다! = D 나는 그것을 시도 할 것이다. – user1685426
관련 문제
- 1. 문자열 비교
- 2. 비교 문자열
- 3. 문자열 비교
- 4. 문자열 비교
- 5. 비교 문자열
- 6. 이진 문자열 비교/정렬 대 사전 문자열 비교/정렬
- 7. 문자열 값 비교
- 8. 복수 문자열 비교
- 9. 두 언어 문자열 비교
- 10. .LT와의 포트란 문자열 비교
- 11. 이진 문자열 비교
- 12. PostgreSQL의 문자열 비교
- 13. xcode 4.3 문자열 비교
- 14. 큰 따옴표로 문자열 비교
- 15. MIPS 어셈블리의 문자열 비교
- 16. if 문에서 문자열 비교
- 17. MySQL 문자열 비교
- 18. jquery로로드 한 문자열 비교
- 19. C++에서 문자열 비교
- 20. Extjs와의 문자열 비교
- 21. 숫자와 문자열 비교
- 22. 두 문자열 비교 문제 ...!
- 23. 문자열 비교 xslt 시트
- 24. SQL Server | 문자열 비교
- 25. 이상한 자바 문자열 비교
- 26. C++ 문자열 비교
- 27. 파이썬 문자열 비교 유사성
- 28. C++에서 문자열 비교
- 29. 두 문자열 C# 비교?
- 30. bash의 문자열 비교
카테고리 이름에서 노드로 'HashMap'을 사용할 수 있습니까? –
그래프가 어떻게 구성되어 있는지,'id' 필드의 의미는 무엇인지에 달려 있습니다. – dan
[그래프 데이터베이스] (http://en.wikipedia.org/wiki/Graph_database)가 적합 할 수도 있습니다. –