소개글
String Match 에 관한 대표적인 알고리즘들을 스스로 찾아 그 작동 원리를 이해하고, 이를 구현하여 확인하는 과제 보고서입니다. 테스트 결과와 보고서 참고문헌등으로 구성되어있습니다.목차
없음본문내용
Engineering DB 및 실습Ⅰ. 문제정의
String Match에 관한 대표적인 알고리즘(Algorithm)을 찾아서 그 작동 원리를 이해하고 이를 구현하여 확인한다. 이를 통해 SQL DML의 내부에서 이루어지는 세부 데이터 처리방식을 이해하는 것을 목표로 한다.
각 알고리즘에 적용된 아이디어를 이해하고 실제로 어떻게 사용할 수 있는 지 구현하여 확인해 보도록 한다. 각 알고리즘이 어떻게 적용되는 지와 그에 따른 분석을 통해 String Match를 비롯한 데이터베이스 데이터의 입력, 수정, 조회, 삭제하는 등의 데이터 조작어인 DML의 작동 원리를 이해해보도록 한다.
Ⅱ. 기본 개념 및 해결 아이디어
워드 문서나 그래픽 파일처럼 구분되지 않은 문자나 비트의 나열, 즉 구분 없는 정보의 나열을 String(스트링) 이라고 한다. 문장의 배열, 공백과 구두점 같은 특수 문자들을 포함한 모든 유효한 문자를 사용한 문자들의 모임이라고 정의할 수 있겠다. 순차 스트링, 고정 길이 스트링, 가변 길이 스트링 등으로 표현할 수 있으며 다음과 같이 그 연산을 수행할 수 있다.
1) 결합(Concatenation) : 두 String을 연쇄적으로 연결한 합성된 String
2) 삽입(Insertion) : 문자와 문자 사이에 새로운 String을 삽입하는 연산
3) 삭제(Deletion) : 구성하는 문자들 중 하나 이상의 문자를 제거하는 연산
4) 교체(Replacement) : 하나 이상의 문자를 다른 문자로 바꾸는 연산
5) 서브스트링(Substring) : 연속적인 문자들 속에서 일부를 찾아 새 String 생성
6) 패턴 매칭(Pattern Matching) : Substring을 찾는 연산
7) 인덱싱(Indexing) : 어떤 문자 또는 Substring의 위치를 나타내는 연산
참고 자료
없음압축파일 내 파일목록
Substring Matching Problem.docx
TEST/BoyerMoore/BoyerMoore/Boyer.c
TEST/BoyerMoore/BoyerMoore/BoyerMoore.vcproj
TEST/BoyerMoore/BoyerMoore/BoyerMoore.vcproj.Sun-PC.Sun.user
TEST/BoyerMoore/BoyerMoore/Debug/Boyer.obj
TEST/BoyerMoore/BoyerMoore/Debug/BoyerMoore.exe.embed.manifest
TEST/BoyerMoore/BoyerMoore/Debug/BoyerMoore.exe.embed.manifest.res
TEST/BoyerMoore/BoyerMoore/Debug/BoyerMoore.exe.intermediate.manifest
TEST/BoyerMoore/BoyerMoore/Debug/BuildLog.htm
TEST/BoyerMoore/BoyerMoore/Debug/mt.dep
TEST/BoyerMoore/BoyerMoore/Debug/vc80.idb
TEST/BoyerMoore/BoyerMoore/Debug/vc80.pdb
TEST/BoyerMoore/BoyerMoore.ncb
TEST/BoyerMoore/BoyerMoore.sln
TEST/BoyerMoore/BoyerMoore.suo
TEST/BoyerMoore/debug/BoyerMoore.exe
TEST/BoyerMoore/debug/BoyerMoore.ilk
TEST/BoyerMoore/debug/BoyerMoore.pdb
TEST/BruteForce/BruteForce/Brute.c
TEST/BruteForce/BruteForce/BruteForce.vcproj
TEST/BruteForce/BruteForce/BruteForce.vcproj.Sun-PC.Sun.user
TEST/BruteForce/BruteForce/Debug/Brute.obj
TEST/BruteForce/BruteForce/Debug/BruteForce.exe.embed.manifest
TEST/BruteForce/BruteForce/Debug/BruteForce.exe.embed.manifest.res
TEST/BruteForce/BruteForce/Debug/BruteForce.exe.intermediate.manifest
TEST/BruteForce/BruteForce/Debug/BuildLog.htm
TEST/BruteForce/BruteForce/Debug/mt.dep
TEST/BruteForce/BruteForce/Debug/vc80.idb
TEST/BruteForce/BruteForce/Debug/vc80.pdb
TEST/BruteForce/BruteForce.ncb
TEST/BruteForce/BruteForce.sln
TEST/BruteForce/BruteForce.suo
TEST/BruteForce/debug/BruteForce.exe
TEST/BruteForce/debug/BruteForce.ilk
TEST/BruteForce/debug/BruteForce.pdb
TEST/KMP/debug/KMP.exe
TEST/KMP/debug/KMP.ilk
TEST/KMP/debug/KMP.pdb
TEST/KMP/KMP/Debug/BuildLog.htm
TEST/KMP/KMP/Debug/KMP.exe.embed.manifest
TEST/KMP/KMP/Debug/KMP.exe.embed.manifest.res
TEST/KMP/KMP/Debug/KMP.exe.intermediate.manifest
TEST/KMP/KMP/Debug/KMP.obj
TEST/KMP/KMP/Debug/mt.dep
TEST/KMP/KMP/Debug/vc80.idb
TEST/KMP/KMP/Debug/vc80.pdb
TEST/KMP/KMP/KMP.c
TEST/KMP/KMP/KMP.vcproj
TEST/KMP/KMP/KMP.vcproj.Sun-PC.Sun.user
TEST/KMP/KMP.ncb
TEST/KMP/KMP.sln
TEST/KMP/KMP.suo
TEST/KMP2/debug/KMP2.exe
TEST/KMP2/debug/KMP2.ilk
TEST/KMP2/debug/KMP2.pdb
TEST/KMP2/KMP2/Debug/BuildLog.htm
TEST/KMP2/KMP2/Debug/impro_KMP.obj
TEST/KMP2/KMP2/Debug/KMP2.exe.embed.manifest
TEST/KMP2/KMP2/Debug/KMP2.exe.embed.manifest.res
TEST/KMP2/KMP2/Debug/KMP2.exe.intermediate.manifest
TEST/KMP2/KMP2/Debug/mt.dep
TEST/KMP2/KMP2/Debug/vc80.idb
TEST/KMP2/KMP2/Debug/vc80.pdb
TEST/KMP2/KMP2/impro_KMP.c
TEST/KMP2/KMP2/KMP2.vcproj
TEST/KMP2/KMP2/KMP2.vcproj.Sun-PC.Sun.user
TEST/KMP2/KMP2.ncb
TEST/KMP2/KMP2.sln
TEST/KMP2/KMP2.suo
참고문헌/4장_알고리즘[1].pdf
참고문헌/alg4-1.ppt
참고문헌/alg5.ppt
참고문헌/알고리즘.hwp
참고문헌/참고사이트.txt
TEST/BoyerMoore/BoyerMoore/Boyer.c
TEST/BoyerMoore/BoyerMoore/BoyerMoore.vcproj
TEST/BoyerMoore/BoyerMoore/BoyerMoore.vcproj.Sun-PC.Sun.user
TEST/BoyerMoore/BoyerMoore/Debug/Boyer.obj
TEST/BoyerMoore/BoyerMoore/Debug/BoyerMoore.exe.embed.manifest
TEST/BoyerMoore/BoyerMoore/Debug/BoyerMoore.exe.embed.manifest.res
TEST/BoyerMoore/BoyerMoore/Debug/BoyerMoore.exe.intermediate.manifest
TEST/BoyerMoore/BoyerMoore/Debug/BuildLog.htm
TEST/BoyerMoore/BoyerMoore/Debug/mt.dep
TEST/BoyerMoore/BoyerMoore/Debug/vc80.idb
TEST/BoyerMoore/BoyerMoore/Debug/vc80.pdb
TEST/BoyerMoore/BoyerMoore.ncb
TEST/BoyerMoore/BoyerMoore.sln
TEST/BoyerMoore/BoyerMoore.suo
TEST/BoyerMoore/debug/BoyerMoore.exe
TEST/BoyerMoore/debug/BoyerMoore.ilk
TEST/BoyerMoore/debug/BoyerMoore.pdb
TEST/BruteForce/BruteForce/Brute.c
TEST/BruteForce/BruteForce/BruteForce.vcproj
TEST/BruteForce/BruteForce/BruteForce.vcproj.Sun-PC.Sun.user
TEST/BruteForce/BruteForce/Debug/Brute.obj
TEST/BruteForce/BruteForce/Debug/BruteForce.exe.embed.manifest
TEST/BruteForce/BruteForce/Debug/BruteForce.exe.embed.manifest.res
TEST/BruteForce/BruteForce/Debug/BruteForce.exe.intermediate.manifest
TEST/BruteForce/BruteForce/Debug/BuildLog.htm
TEST/BruteForce/BruteForce/Debug/mt.dep
TEST/BruteForce/BruteForce/Debug/vc80.idb
TEST/BruteForce/BruteForce/Debug/vc80.pdb
TEST/BruteForce/BruteForce.ncb
TEST/BruteForce/BruteForce.sln
TEST/BruteForce/BruteForce.suo
TEST/BruteForce/debug/BruteForce.exe
TEST/BruteForce/debug/BruteForce.ilk
TEST/BruteForce/debug/BruteForce.pdb
TEST/KMP/debug/KMP.exe
TEST/KMP/debug/KMP.ilk
TEST/KMP/debug/KMP.pdb
TEST/KMP/KMP/Debug/BuildLog.htm
TEST/KMP/KMP/Debug/KMP.exe.embed.manifest
TEST/KMP/KMP/Debug/KMP.exe.embed.manifest.res
TEST/KMP/KMP/Debug/KMP.exe.intermediate.manifest
TEST/KMP/KMP/Debug/KMP.obj
TEST/KMP/KMP/Debug/mt.dep
TEST/KMP/KMP/Debug/vc80.idb
TEST/KMP/KMP/Debug/vc80.pdb
TEST/KMP/KMP/KMP.c
TEST/KMP/KMP/KMP.vcproj
TEST/KMP/KMP/KMP.vcproj.Sun-PC.Sun.user
TEST/KMP/KMP.ncb
TEST/KMP/KMP.sln
TEST/KMP/KMP.suo
TEST/KMP2/debug/KMP2.exe
TEST/KMP2/debug/KMP2.ilk
TEST/KMP2/debug/KMP2.pdb
TEST/KMP2/KMP2/Debug/BuildLog.htm
TEST/KMP2/KMP2/Debug/impro_KMP.obj
TEST/KMP2/KMP2/Debug/KMP2.exe.embed.manifest
TEST/KMP2/KMP2/Debug/KMP2.exe.embed.manifest.res
TEST/KMP2/KMP2/Debug/KMP2.exe.intermediate.manifest
TEST/KMP2/KMP2/Debug/mt.dep
TEST/KMP2/KMP2/Debug/vc80.idb
TEST/KMP2/KMP2/Debug/vc80.pdb
TEST/KMP2/KMP2/impro_KMP.c
TEST/KMP2/KMP2/KMP2.vcproj
TEST/KMP2/KMP2/KMP2.vcproj.Sun-PC.Sun.user
TEST/KMP2/KMP2.ncb
TEST/KMP2/KMP2.sln
TEST/KMP2/KMP2.suo
참고문헌/4장_알고리즘[1].pdf
참고문헌/alg4-1.ppt
참고문헌/alg5.ppt
참고문헌/알고리즘.hwp
참고문헌/참고사이트.txt
이 자료와 함께 구매한 자료
[알고리즘] 패턴매칭 2페이지
KMP 알고리즘 Java 구현 4페이지