검색 알고리즘의 유형

엄마와 아빠가 깔개에 키스하는 소녀

한 가족이 노트북을 사용하고 있습니다.

이미지 크레디트: altrendo 이미지/Stockbyte/게티 이미지

검색 알고리즘은 많은 프로그램에서 중요한 부분을 형성합니다. 일부 검색에는 IRS 데이터베이스에서 귀하의 기록을 조회하는 것과 같이 데이터베이스에서 항목을 찾는 것이 포함됩니다. 다른 검색 알고리즘은 최고의 체스 동작을 찾는 알고리즘과 같이 가상 공간을 트롤링합니다. 프로그래머는 다양한 검색 유형 중에서 선택할 수 있지만 사용자 친화적인 경험을 제공하기 위해 데이터베이스의 크기와 구조에 가장 잘 맞는 알고리즘을 선택합니다.

선형 검색

선형 검색은 단순하고 구현하는 데 최소한의 코드가 필요하기 때문에 짧은 목록에 대해 선택되는 알고리즘입니다. 선형 검색 알고리즘은 첫 번째 목록 항목을 보고 검색 중인지 확인하고 검색 중이면 완료됩니다. 그렇지 않은 경우 다음 항목과 목록의 각 항목을 살펴봅니다.

오늘의 비디오

이진 검색

이진 검색은 숫자 키로 정렬된 레코드가 있는 대규모 데이터베이스에 널리 사용되는 알고리즘입니다. 예를 들면 주민등록번호로 입력되는 IRS 데이터베이스와 운전면허증 번호로 입력되는 DMV 기록이 있습니다. 알고리즘은 데이터베이스의 중간에서 시작합니다. 대상 번호가 중간 숫자보다 크면 검색은 데이터베이스의 위쪽 절반에서 계속됩니다. 대상 번호가 중간 번호보다 작은 경우 검색은 데이터베이스의 아래쪽 절반으로 계속됩니다. 이 과정을 계속 반복하면서 레코드를 찾을 때까지 매번 데이터베이스를 반으로 줄입니다. 이 검색은 선형 검색보다 복잡하지만 대규모 데이터베이스의 경우 선형 검색보다 훨씬 빠릅니다.

나무 검색

트리 검색은 데이터가 트리 구조에 맞는 경우에만 작동합니다. 데이터베이스는 몇 가지 항목으로 가는 루트에서 시작하며, 각 항목은 몇 가지 추가 항목으로 이동하는 식으로 트리가 생길 때까지 계속됩니다. 한 가지 예가 체스 게임입니다. 현재 보드 위치는 루트입니다. 이 위치에서 합법적으로 이동하는 것은 나무에서 한 단계 아래로 내려가는 방식으로 플레이어가 자신을 최상의 위치에 남겨두는 보드 위치를 찾을 때까지 계속됩니다.

유전 알고리즘

유전자 알고리즘 검색은 인공 지능 뒤에 있는 기술 중 하나입니다. 최대 추력을 제공하는 제트 엔진의 내부 치수 목록과 같은 일련의 데이터로 표현되는 "최적 솔루션"을 검색합니다. 검색은 임의의 문자열 모집단으로 시작하여 각 문자열을 테스트하여 최상의 문자열을 유지하고 다음 세대를 얻기 위해 번식합니다. 프로그램은 최적의 솔루션 문자열에 도달할 때까지 이 프로세스를 계속 반복합니다.