2014-04-28 5 views
0

I는 정렬되지 않은 배열 A [1 ..... N]알고리즘 비교

  1. 배열을 정렬하는 정렬 거품을 사용 번호 X

  2. 검색 선형 검색을 통해이 있으면 A는 오름차순으로, 다음 더 효율적입니다 정렬 된 배열에

어떤 방법을 숫자 X를 검색 이진 검색을 사용 - 1 또는 2를?

어떻게 정당화 할 수 있습니까?

+1

선형 검색의 복잡성은 얼마나됩니까? 버블 정렬의 복잡성은 무엇입니까? 이진 검색의 복잡성은 무엇입니까? 얼마나 많은 검색을 할 예정입니까? 더 빠른 정렬을 사용하지 않는 이유는 무엇입니까? 어떻게 대답을 바꾸겠습니까? N은 얼마나 큰가요? Big-O 표기법은 N ⟶ ∞와 같은 점근 적 행동에 대한 표기법이다. N이 작 으면 균형이 바뀔 수 있습니다. –

답변

0

단일 숫자를 검색해야하는 경우 선형 검색을 능가 할 수있는 것은 없습니다. 정렬은 O (n)보다 빠르게 진행될 수 없으며 특별한 경우에만 가능합니다. 더욱이 거품 정렬은 O (n) 시간이 걸리는 매우 비효율적입니다. 이진 검색은 그보다 빠르기 때문에 전체 타이밍은 O (n)에 의해 지배 될 것입니다.

따라서 O (n)과 O (n)를 비교합니다. 분명히, O (n)이 이긴다.

k 다른 번호를 검색해야하는 경우 그림이 달라집니다. 여기서 k는 n 보다 큽니다. 이 비교 결과는 부정적 일 수 있습니다.

+0

기수 정렬은 배열을 정렬하는 것이 더 효율적입니까? –

+0

@Amanda_Q : 복잡성이 'O (nlogn)'인 모든 정렬이 효율적입니다. 그냥 하나 골라. 'quicksort'를 선택하지 않으 셨다면 – arunmoezhi

+0

@Amanda_Q 기수 정렬은 요 O (n) 성능을 제공하는 종류입니다. – dasblinkenlight