Алгоритмы поиска и сортировки

Embed Size (px)

Text of Алгоритмы поиска и сортировки

  • .

    *

  • c

    *

  • , .

    *

  • , .

    *

  • - , .

    *

  • , , , .

    *

  • , . . . , O(log n) .

    *

  • *

  • f(n) O(g(n))f g ( ) f(n) (g(n))f g ( ) f(n) (g(n))f g

    *

  • O

    *

  • *

  • *

  • , -

    *

  • 134871519

    *

  • 1 1970 .long startTime = System.currentTimeMillis(); ; ; ;long endTime = System.currentTimeMillis();long workTime = endTime startTime;

    *

  • *

  • ( , ) , ( ), .

    *

  • () () ( ) (), . O(log n)Arrays.binarySearch(mas)

    *

  • *

  • .int mid = (left + right) / 2; int mid = left + (right - left) / 2;

    *

  • 31.

    27 < 31

    left = mid + 1;

    *

  • 35 > 31

    right = mid - 1;

    *

  • *

  • *

  • *

  • . , , , ,

    *

  • ; ( 20 100 );

    *

  • ; ; ;

    *

  • , , . (.stability) .

    *

  • . , . . , , .

    *

  • (.Bubble sort) , .

    : O(n2)..

    *

  • O(n2) O(n) O(n2) O (1)

    *

  • *

  • *

  • : ( , ) ,

    , .

    *

  • *

  • *

  • *

  • . Insertion sort, , . : O(n2).. .

    *

  • *

  • *

  • : , ; , ; ( , );

    *

  • ;O(1) , . : ( ).

    *

  • *

  • *

  • *

  • (Shell sort) , . , , . .

    *

  • *

  • QuicksortQuicksort - , , .

    *

  • . , . 1960.

    *

  • (Quicksort) O(n log n) , O (n2) ;

    *

  • Quicksort

    *

  • *

  • *

  • Timsort Timsort , , 2002 . Timsort Python,OpenJDK7 AndroidJDK 1.5.

    *

  • Timsort , . Timsort .

    *

  • , , . 1981 . , O(nlogn).

    *

  • , O(n), , , .

    *

  • *

  • - O(n log n). O(n) O(n log n). O(n). O(n+k). O(n+k) ( ) O(n) (k)

    ()

    *

  • *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *