728x90
반응형
SMALL
파일을 슬라이딩 윈도우 하여 5바이트씩 읽힌다.
5바이트씩 잘라서 읽힌 값들은
pearson 함수를 통하여 int 값들로 읽히게 되고 (0,2,5,127..등등등)
0~127 까지의 int 값 안에서만 형성됨. why? 파일의 차이점 비교를 위해 128 차원으로 파일을 읽도록함
읽힌 여러 값들은 각각이 카운팅 되어 카운팅 된 값들을 128차원 배열에 저장한다.
총 카운팅 된 값들은 컴퓨터가 읽을수 있는 이진법으로 변경해주어야 한다.
단 변경 과정에서 조건이 있다.
예를 들어 4분위수 를 주어서
Xi < 1분위수(10) 이면 00 대입
1분위수<Xi<2분위수(20) 이면 01 대입
2분위수<Xi<3분위수(30) 이면 10 대입
3분위수<Xi 이면 11 대입한다.
대입된 값들과 앞에 헤더 값만 붙으면 128차원의 총 해시배열의 모습이 구성된다.
body 값만 diff 함수를 이용하여 파일간의 유사도를 비교할수 있게되는데
서로 뺄셈을 진행하여 나온값들로 두 파일의 유사도를 판단하게 된다.
ex)
if(30>diff) 면 system.out.printf("그 파일은 유사")
if(diff>100) 면 system.out.printf("그 파일은 다른 파일이다")
이런식으로 활용할 수 있게된다.
728x90
반응형
LIST
'나의 주니어 개발 일기' 카테고리의 다른 글
테스트2 (0) | 2020.09.16 |
---|