반응형

2024/07/24 2

[Algorithm] 해시 탐색 (Hash Search)

개 념해시 함수를 이용하여 키 값을 버킷의 슬롯에 배열시켜 빠르게 탐색하는 알고리즘 I. 해시 탐색 (Hash Search)의 개요 가. 해시 탐색 (Hash Search)의 정의 - 해시 함수를 이용하여 키 값을 버킷의 슬롯에 배열시켜 빠르게 탐색하는 알고리즘 ※ 해시테이블(hash table) : 키 값을 저장하는 테이블 버킷(bucket) : 해시될 키 값의 범위, 테이블의 크기 슬롯(slot) : 한 개의 버킷에 저장될 키 값의 개수 나. 해시 탐색 (Hash Search)의 특징 - 고정길이, One Way- O(1)의 탐색 속도- 충돌처리 매커니즘 필요   Ⅱ. 해시 함수의 기법 가. 해시 함수의 기법 구 분내 용mid-square식별자의 제곱 값의 가운데 값을 취함.division나머지 연산..

[Algorithm] 합병 정렬 (Merge Sort)

합 병 정렬 (Merge Sort)리스트를 두 개로 나누어, 각각을 정렬한 다음, 다시 하나로 합치는 정렬 방법  I. 합병 정렬 (Merge Sort)의 개요  가. 합병 정렬의 정의- 리스트를 두 개로 나누어, 각각을 정렬한 다음, 다시 하나로 합치는 정렬 방법  나. 합병 정렬의 특징 - 분할과 정복 : 분할(Divide) -> 정복(Conquer) -> 결합(Combine) 과정 수행- 재귀적 수행 : 분할을 마친 후 분할된 부분의 반복적 수행- 정렬을 위한 별도의 공간이 필요- 수행시간 복잡도: O(n·log2n)  Ⅱ. 합병 정렬의 단계 및 사례 가. 합병 정렬의 단계  나. 합병 정렬 개념 void mergeSort(int arr[], int l, int r){ if (l { int m =..

반응형