본문 바로가기
  • fishing...
  • eating...

알고리즘4

C/C++ HASH의 구현. 해싱(Hashing) 테이블제 저장된 데어트를 주어진 Key(input) 값을 수학적 계산을 통해 원하는 데이터를 탐색하는 방법. 해싱 테이블(Hashing Table) 데이터를 저장 수 있는 버킷(Buket)으로 구성. 아래는 오픈어드레싱(open addressing) 방식의 예제다. 해쉬 인덱스의 계산 const int MOD = 100007; const int D = 31; int hashing(char* str) { int hashValue = 0; int s = 1; for (int i = 0; str[i] != NULL; ++i) { hashValue = (hashValue + str[i] * s) % MOD; s = s * D % MOD; } return hashValue; } 해쉬 테이블의.. 2021. 8. 1.
암호화알고리즘 - 블록암호(block cipher) 자료출처:http://www.securitytechnet.com/std-algorithm/block.html#block1 블록암호 (block cipher) 국내 표준인 SEED와 미연방 표준인 DES/3DES/AES에 대한 표준 문서, 소스 코드(테스트 벡터 포함) 등을 제공합니다. SEED DES/3DES/AES SEED SEED는 민간부문에서의 정보와 개인 프라이버시 등을 보호하기 위하여 한국정보보호진흥원(구,한국정보보호센터)과 ETRI주도하에 개발된 대칭키 방식의 128비트 블럭암호 알고리즘으로 1999년 9월 국내 단체표준화 (TTA.KO-12.0004)를 완료하였습니다. 현재, 한국정보보호진흥원에서는 SEED의 국제 표준화를 추진중에 있습니다. SEED는 크게 다음과 같은 특성을 가진 블럭암호.. 2008. 2. 1.
[검색 알고리즘] Stemming 알고리즘 검색어 "안녕"은.. 안녕하세요? 안녕하십니까? 등에 포함 되어 있다.. 문제는 "안녕하세요"라고 검색했을때.. "안녕", "안녕하세요", "안녕하십니까"등 의미(?)가 다른문장이긴 하지만 공통 포함되어 있는 안녕이 우리가 찾고자 하는 의미라고 했을때... 입력 "안녕하세요"에서 "안녕"을 찾아 내는 알고리즘을 Stemming 알고리즘의 개념이다.. Ex Input "시험이 정말 어렵다" Ex Outupt "시험" "정말" 2007. 9. 22.
[검색 알고리즘] TF/IDF 원문보기: http://cafe.naver.com/peternara.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=3 TF( Term Frequency ) 문서안에 존재하는 단어들의 빈도를 나타낸다. A문서안에 Process라는 단어가 10 존재 한다면 빈도는 10이다. 명사를 추출해야하는데 Stemming, Stop알고리즘을 적용한후 TF를 적용해야 한다. TF ij = Frequency ij / MAX( Frequency ij ) IDF( Inverse Term Frequency ) 공통으로 포함된 단어에 대해, 빈도가 낮은 단어에 대해 높은 갚으로 전환하기 위한 방법이다. 각 문서에 포함되어있는 단어에 대한 tf * idf값을 구해야 한다. 완전 내멋대로 해석하기... 2007. 9. 21.