본문 바로가기

728x90

알고리즘

(3)
해시 함수 (Hash Table) Hash Function 해시 함수(hash function) 또는 해시 알고리즘(hash algorithm)은 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다. 이때, 이 고정된 길이는 해시 함수마다 다릅니다. 하지만 동일한 해시 함수는 동일한 길이의 데이터를 출력합니다. 아래 그림과 같이, data를 hash function에 입력하면, 이 함수는 고정된 길이의 값을 출력합니다. 해시 함수에 의해 얻어지는 값을 해시 값(Hash value) 이라고 합니다. 해시 함수의 특징 해시 값은 항상 고정된 길이의 값을 가집니다.(위 설명 참고) 같은 입력값이면 해시 값은 항상 동일합니다. 다른 입력값일 때, 1bit만 다르더라도 해시 값은 크게 달라질 수 있습니다. 다른 입력값일 때, 같은 ..
C언어 - Quick sort 구현 Pivot 선택을 위한 Partition 첫 번째 방법 int hoarePartition(int* a, int low, int high) { int p = a[low]; int i = low; int j = high; while (i
C언어 - 문자열 탐색, 비교 구현해보기 이번 포스팅은 C++를 사용하지 않고 (라이브러리 없이) C언어를 이용하여 직접 문자열 관련 함수들을 구현해 보았습니다. strlen: 문자열 길이 C++의 str.size() 혹은 str.length() C언어 첫 번째 방법 (포인터) int strlen(const char* str) { int len = 0; while (*str != '\0') { ++len; ++str; } return len; } int main() { printf("%d\n", strlen("Hello")); // 5 } 두 번째 방법 (배열) int strlen(const char* str) { int len = 0; while (str[len] != '\0') { ++len; } return len; } strcpy: 문자..

728x90
반응형