2012-10-13 5 views
1

모든 문장은 문장 부호가없는 소문자이며 문장이 3 연속 단어이므로 문장이있는 경우 : i jessica hunt해시 테이블을 사용하여 문장 목록에서 가장 일반적인 구문을 찾는 방법

입니다.

그래서 문구는 파일의 모든 문장에서 현재의이

친절이에 대한 appropiate 해시 함수를 도와 경우

문구가 일반적이다 "제시카 사냥이다" "나는 제시카입니다"와 것 문제

+0

위의 정의에 * '문장'*의 종료에 대한 사양이 포함되어 있지 않습니다. 당신은 단지 '문구'가 무엇인지를 지정합니다. 또한이 문제는 해시에 대한 것만 큼 데이터 그룹화와 관련하여 많은 부분을 차지하므로 문제를 해결하는 데 중요하게 고려해야합니다. – WhozCraig

+0

문장이 종결 된 후 끝납니다. 이렇게 안녕하세요 안녕하세요. 괜찮 았습니다. 이거 멋있어요. 은 2 문장입니다. –

답변

0

아무거나 나옵니다. 세 개의 연속 단어의 수 (또는 해시 값)가 {a, b, c} 인 (3 * a + 5 * b + 7 * c)로 시작합니다. 공백 및 구두점

  • 무시 (당연히 모든 부호 및 모듈러스 WORDSIZE) 말로

    • tokenise은 슬라이딩 윈도우를 유지 해시 테이블로 (딕셔너리) 파일을 통해
    • 단계, 생성 된 단어를 넣어 3 토큰 해시를 계산하기 위해
    • 그리고이를 두 번째 해시 테이블에 넣거나 업데이트하십시오.
    • 충돌 해결을 위해이 두 번째 해시 테이블은 원래 세 단어에 대한 (포인터, 인덱스) 액세스 권한이 있어야합니다.
  • 0

    제시카, 당신은 n-gram hasher가 문장 하나 (거의 동일 함)가 필요합니다. I는 초고속 N-g 리퍼 자유롭게에서 다운로드 가능 C에 쓴 : 이 http://www.sanmayce.com/Downloads/index.html#Leprechaun

    요정은 "문장"이 두 3 그램까지 '내가 제시카 사냥이다'찢어 것 : i_am_jessica am_jessica_hunt을

    아마 n-gramming이 너의 일이 될 것이다.

    관련 문제