일상 생활,자동차 열쇠,책,펜,모바일 충전기 등 일상 생활에서 무언가를 검색 할 필요가없는 하루 패스조차 없습니다. 같은 컴퓨터의 수명입니다,거기에 너무 많은 데이터가 저장되어,그 때마다 사용자가 일부 데이터에 대한 요청,컴퓨터는 데이터를 찾아 사용자가 사용할 수 있도록 그것의 메모리를 검색 할 수있다. 그리고 컴퓨터는 당신이 우리의 운영 체제 튜토리얼 시리즈에 대한 자세한 내용을 볼 수 있습니다 그것의 메모리 빠른을 통해 검색 할 자신의 기술을 가지고있다.
배열에서 주어진 숫자를 검색하기 위해 프로그램을 작성해야 한다면? 당신은 그것을 어떻게 할 것인가?
음,주어진 배열의 요소를 검색하려면 두 가지 인기있는 알고리즘을 사용할 수 있습니다:
- 선형 검색
- 이진 검색
선형 검색
선형 검색은 매우 기본적이고 간단한 검색 알고리즘입니다. 선형 검색에서 우리는 원하는 요소 또는 값이 발견 될 때까지 시작부터 배열을 통과하여 주어진 배열의 요소 또는 값을 검색합니다.
검색 할 요소를 배열에 존재하는 모든 요소와 비교하고 요소가 성공적으로 일치하면 배열에 있는 요소의 인덱스를 반환하고 그렇지 않으면-1
을 반환합니다.
선형 검색은 정렬되지 않거나 정렬되지 않은 목록에 적용됩니다.
선형 검색 알고리즘의 특징
- 정렬되지 않고 정렬되지 않은 작은 요소 목록에 사용됩니다.
- 그것은 시간의 복잡성이 있습니다 영형(엔),이는 시간이 요소의 수에 선형 적으로 의존한다는 것을 의미하며,이는 나쁘지 않지만 그다지 좋지는 않습니다.
- 매우 간단한 구현이 있습니다.
다음 자습서에서 선형 검색 알고리즘을 구현합니다.
이진 검색
이진 검색은 정렬된 배열 또는 목록과 함께 사용됩니다. 이진 검색에서는 다음 단계를 수행합니다:
- 검색 할 요소를 목록/배열 중간에있는 요소와 비교하는 것으로 시작합니다.
- 우리가 일치를 얻을 경우,우리는 중간 요소의 인덱스를 반환합니다.
- 일치하지 않으면 검색 할 요소가 중간 요소보다 값이 작거나 큰지 확인합니다.
- 검색 할 요소/숫자가 중간 숫자보다 큰 경우 중간 요소의 오른쪽에있는 요소를 선택합니다(목록/배열이 정렬되므로 오른쪽에 모든 숫자가 중간 숫자보다 큼).그리고 1 단계부터 다시 시작합니다.
- 검색할 요소/숫자가 중간 숫자보다 작은 경우 중간 요소의 왼쪽에있는 요소를 선택하고 1 단계부터 다시 시작합니다.
이진 검색은 배열에 많은 수의 요소가 있고 정렬된 경우에 유용합니다.
따라서 이진 검색이 작동하는 데 필요한 조건은 목록/배열을 정렬해야한다는 것입니다.
이진 검색의 특징
- 큰 정렬 된 배열을 검색하는 것이 좋습니다.
- 그것은 매우 좋은 시간 복잡도 인 영형(로그 엔)의 시간 복잡성을 가지고 있습니다. 우리는 이진 검색 튜토리얼에서 세부 사항에서이 문제를 논의 할 것이다.
- 간단한 구현이 있습니다.