많은 메모리를 차지하지 않고 짧은 시간에 두 개의 문자열을 효율적으로 비교할 수있는 알고리즘을 찾고 있습니다. 그래서 내가 현재하고있는 것은 문자열을 먼저 압축 한 다음 압축 된 문자열을 비교하는 것입니다 (메모리 오류를 피하기 위해 문자열은 매우 길 수 있습니다.)C/C++에서 인코딩 된 문자열 압축 알고리즘
문자열에 [0-9], x, o의 문자가 포함되어 있습니다. ,엑스.
이제 압축 규칙은 특정 반복 토큰 만 압축해야하는 것과 같습니다. 예를 들어 'O'는 토큰의 단부이며 하나 개 이상의 숫자 (0-9}의 시퀀스의 끝에 항상 제공, 'X'등과 승산
예 보여주는 것이다 : 1. 8o8o80을해야 3x80 2. 8oXXXX로 압축 할 수가있는 경우
가 궁금 .. 3. 64o8o8o16o16o이 64o2x8o2x16o 등해야 804xX로 압축해야한다 등의 압축 문자열에 대한 기존의 알고리즘?도움의 어떤 종류를 주셔서 감사합니다 이 문제를 해결할 수 있습니다. 감사합니다.
어떻게 비교 한 후 비교하는 것이 단순히 비교하는 것보다 빠를 수 있습니까? – Jon
순진한 비교는 무엇이 잘못 되었습니까? 그것은 이미 두 문자열에 의해 사용되는 것보다 더 많은 메모리를 사용하지 않으며, 더 빠를 수 있습니다. (잠재적으로 더 정확한) ... – Nim
@Jon : 압축되지 않은 문자열에 대해 메모리 오류가 발생하는 것처럼 빠르지 만 메모리가 효율적이지 않습니다. . – Raj