임의의 길이와 수의 이진 문자열 집합 (중복되지 않음)이 주어졌으며 다른 문자열의 접두사가 있는지 여부를 알아야합니다. 작은 길이와 작은 길이의 문자열에 대해서는 간단합니다. 접두사가 일치 할 때마다 각 문자열을 읽어 바이너리 트리를 작성하기 만하면됩니다. 그러나 길이가 긴 문자열을 많이 사용하면이 방법은 효율적이지 않습니다. . 이것에 대한 올바른 데이터 구조와 알고리즘이 무엇인지 궁금 할뿐입니다. 호프만 나무? 시도 (기수)? 또는 아무것도? 감사.이 데이터 구조는 무엇입니까?
0
A
답변
0
나는 트라이와 함께 갈 것이다. 트 리를 사용하여 모든 문자열을 삽입하여 각 문자열의 마지막 노드에 플래그를 표시 한 다음 각 문자열에 대해 경로를 따라 이동하고 페이지의 노드에 플래그가 설정되어 있는지 확인합니다. 그렇다면 해당 노드에서 끝나는 문자열이 분석중인 문자열의 접두사입니다.
n = 문자열 수 및 k = 평균 길이라고 가정하고 삽입 및 분석 모두 O (kn)을 취합니다.
프리픽스 트리 (단일 문자보다 긴 노드를 가진 트라이)가 더 효율적이지만 구현하기 쉽지는 않습니다.
관련 문제
- 1. 이 상황에 적합한 데이터 구조는 무엇입니까?
- 2. 데이터 구조는
- 3. 쿼리 캐싱을위한 데이터 구조는 무엇입니까?
- 4. 사용할 C# 데이터 구조는 무엇입니까?
- 5. 이 계층 구조에 가장 적합한 개체 기반 데이터 구조는 무엇입니까?
- 6. 이 메모리 내 룩업 테이블을위한 최상의 데이터 구조는 무엇입니까?
- 7. 데이터 구조는 lisp로
- 8. java에서 사용할 올바른 데이터 구조는 무엇입니까?
- 9. 디렉토리 구조에 사용되는 데이터 구조는 무엇입니까?
- 10. 지도의 트리에 대한 최적의 데이터 구조는 무엇입니까
- 11. Win32 API에서 제공하는 데이터 구조는 무엇입니까?
- 12. C#에서이 배열에 적합한 데이터 구조는 무엇입니까?
- 13. 가장 고통스러운 DataTable 대체 데이터 구조는 무엇입니까?
- 14. MySql에서 사용 된 데이터 구조는 무엇입니까?
- 15. 개체의 평가 순서에 사용할 데이터 구조는 무엇입니까?
- 16. 키워드를 보관할 가장 효율적인 데이터 구조는 무엇입니까?
- 17. 파이썬 트리플 데이터를위한 데이터 구조는 무엇입니까
- 18. 풀 컨테이너에 대한 최적의 데이터 구조는 무엇입니까?
- 19. 이 데이터 구조는 EF4, nHibernate, Subsonic에서 모델링 할 수 있습니까?
- 20. Inode 번호의 데이터 구조는 어떻습니까?
- 21. C++ 메모리 캐시 데이터 구조는
- 22. 최고의 테이블 구조는 무엇입니까?
- 23. IQueryable의 구조는 무엇입니까?
- 24. node.js의 애플리케이션 구조는 무엇입니까?
- 25. Android PackageManagerService의 구조는 무엇입니까?
- 26. Eclipse의 구조는 무엇입니까?
- 27. 포인터의 실제 구조는 무엇입니까?
- 28. 이 경우 내 mysql 데이터베이스 구조는 어떻게되어야합니까?
- 29. RDBMS에서 정렬 된 목록에 가장 적합한 데이터 구조는 무엇입니까?
- 30. 파일 목록 정보를 저장할 데이터 유형/구조는 무엇입니까?