728x90 반응형 string3 Two-Way String-Matching에 대하여 오늘은 KMP 방식과 Boyer-Moore의 방식을 조합하여 양방향으로 탐색하는 Two-Way String Matching Algorithm에 대하여 알아보도록 하겠습니다. python 3.10에서 적용한 이후 약 25배가량의 엄청난 효과를 보았다고 알려진 알고리즘 입니다.C의 strstr의 하위 문자열 함수를 구현하는데에도 사용되어져 있습니다. 찾고자 하는 문자열이 앞에 있는 경우개수 / 문자열 길이 / 패턴 길이kmp(s)boyer-moore (s)rabin-karp (s)two-way String Macthing (s)100,000 / 2,000 / 107.926154.06316.30524.87610,000 / 5,000 / 100.96616.5241.7982.69 찾고자 하는 문자열이 뒤에 있는 .. 2024. 7. 21. JAVA에서의 Boyer-Moore 해당 글은 보이어 무어 알고리즘을 사용하고 있는 JAVA의 내부 코드에 대해 이야기하고자 합니다.Boyer-Moore에 대해서는 해당 글 참조 부탁드립니다.https://lms0806.tistory.com/210 A Fast StringSearching Algorithm 리뷰해당 논문은 boyer–moore 알고리즘 이라고 불리는 kmp와 비슷한 알고리즘에 대하여 설명하고 있습니다. 보이어무어 알고리즘은 불필요한 것은 건너뛰고, 검색을 빠르게 하자는 것에서 KMP와 유사lms0806.tistory.com 해당 글의 마지막에 보이어 무어 알고리즘을 사용하고 있는 BMPatter.java에 대해 링크를 남긴적이 있습니다.이제는 저희가 자주 사용중인 내부 라이브러리 함수 중에 Boyer-Moore 알고리즘을 .. 2024. 6. 23. 변수 선언 후 인자 전달 vs 인자 전달 개발을 진행하던 중, 한가지 궁금점이 들었습니다. String s = "1"; print(s); print("1") 의문점 둘 중 어느게 빠를까? 둘의 메모리 사용량은 같을까? 다르다면, 어느게 메모리를 적게 사용할까? 정확하게 분석이 불가능하여 시간 측정 및 메모리 측정을 하였습니다. 1. String s; for (int i = 0; i < 1000000000; i++) { s = "1"; print(s); } 2. for(int i = 0; i < 1000000000; i++){ print("1"); } 해당 코드들로 시간 측정을 하였고, 함수는 System.currentTimeMillis() 을 사용하였습니다. 결과 1. 시간차이(ms) : 5 2. 시간차이(ms) : 4 미세하게 변수를 선언하지.. 2024. 2. 14. 이전 1 다음 728x90 반응형