Различия между версиями 5 и 7 (по 2 версиям)
Версия 5 от 2015-12-12 22:43:01
Размер: 2495
Редактор: FrBrGeorge
Комментарий:
Версия 7 от 2015-12-12 22:47:44
Размер: 2652
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 27: Строка 27:
  {{{1; 2; 7; 1; 7; 3; 8; 5; 5; 5; 6; 4; 4; 0; 3; 2}}}   {{{1; 2; 7; 1; 7; 3; 8; 5; 5; 5; 6; 4; 4; 0; 3; 2}}}
Строка 36: Строка 36:
  * k≤log,,2,,n+1
Строка 38: Строка 38:
  1. Прочитать [[RW:Алгоритм_сортировки|про алгоритмы сортировки в Википедии]]
Строка 40: Строка 40:
  2. Посчитать количество оборотов цикла (сравнить с обменной сортировкой)   1. Посчитать количество оборотов цикла (сравнить с обменной сортировкой)

Понятие об оценке сложности

  • Рост функции: константа, логарифм, линейный, квадратичный (степенной), показательной.
  • Поиск и бинарный поиск в отсортированных последовательностях методом половинного деления, оценка сложности
  • Сортировка
  • Оценка сложности сортировки (выбором и пузырём)
  • Слияние двух отсортированных последовательностей в одну имеет линейную сложность:
    •   0
      2 1    2 0      0      0
      3 4    3 1    2 1      1      0
      6 5    6 4    3 4    2 4    2 1    2 0      0      0
      7<9 .  7>5 9  6>5 9  3<5 9  3<4 9  3>1 9  2>1 9  . 1 9  . . 9
                        7      7      7      7      7      7      7
                               6      6      6      6      6      6
                                      5      5      5      5      5
                                             4      4      4      4
                                                    3      3      3
                                                           2      2
                                                                  1
                           оставшийся хвост дописываем в конец    0
  • Пример эффективной сортировки слиянием (n*log2n)

    • 1; 2; 7; 1; 7; 3; 8; 5; 5; 5; 6; 4; 4; 0; 3; 2

    • Сольём все подряд идущие пары элементов, получим упорядоченные пары

      1  2; 1  7; 3  7; 5  8; 5  5; 4  6; 0  4; 2  3

    • Сольём все подряд идущие четвёрки, получим упорядоченные четвёрки

      1  1  2  7; 3  5  7  8; 4  5  5  6; 0  2  3  4

    • 1  1  2  3  5  7  7  8; 0  2  3  4  4  5  5  6

    • Сольём все подряд идущие 2k 0  1  1  2  2  3  3  4  4  5  5  5  6  7  7  8

    • k≤log2n+1

Домашнее задание

  1. Прочитать про алгоритмы сортировки в Википедии

  2. Реализовать сортировку слиянием
  3. Посчитать количество оборотов цикла (сравнить с обменной сортировкой)


CategoryClass CategoryVmsh

LecturesVMSH/Python/2015-12-11 (последним исправлял пользователь FrBrGeorge 2015-12-12 22:49:39)