알고리즘 2

[탐색 알고리즘] 해시 탐색

해시 탐색(Hash Search) 해시(Hash)란 단어는 '잘게 썬다', '잘게 자른다'라는 의미로, '원래의 숫자를 모양이 변할 정도로 요리하여 전혀 다른 값을 생성한다'는 의미로 파악해 두는 것이 좋다. 어떤 데이터가 어떤 요소에 들어 있는지 전혀 모르는 상태에서 검색을 시작하는 선형 탐색, 이진 탐색과 달리, 나중에 데이터를 탐색하기 쉽도록 데이터를 보관하는 단계에서 사전 준비를 해 둔다. 예를 들면, 24인 데이터는 첨자 24의 요소에 넣어 두고, 36인 데이터는 36의 요소에 넣어둔다. (이를 위해서 최소 0 ~ 36까지의 요소를 가진 배열이 만들어져 있어야 한다.) -> Direct Address Table 이렇게 하면 너무 많은 메모리를 낭비하는 ..

알고리즘 2021.07.05

[탐색 알고리즘] 선형 탐색과 이진 탐색

탐색 알고리즘 선형 탐색(Linear Search) 특정 값을 찾기 위해 맨 앞부터 순서대로 하나하나 확인하는 탐색 방법이다. 특정 사물함 안에 들어 있는 물건을 찾기 위해 사물함을 앞에서부터 하나하나 열어보고 확인하는 것과 같다. 장점 : 단순해서 이해하기 쉽다. 단점 : 찾는 값이 앞쪽에 있으면 짧은 시간에 탐색할 수 있지만, 뒤쪽에 있거나 없거나 데이터 양이 많으면 탐색하는 데 많은 시간이 걸린다. 출처 : tutorialspoint 알고리즘 선형 탐색 (Array A, Value x) Step 1: i에 0을 대입해라 Step 2: i > A.length 이면 step 7로 가라 Step 3: A[i] = x 이면 step 6으로 가라 Step 4: i에 i + 1을 대입해라 Step 5: Ste..

알고리즘 2021.06.27