1676
Комментарий:
|
← Версия 8 от 2015-12-12 22:49:39 ⇥
2654
|
Удаления помечены так. | Добавления помечены так. |
Строка 10: | Строка 10: |
* Пример эффективной сортировки — слияние * Слияние двух отсортированных последовательностей в одну имеет линейную сложность: |
* Слияние двух отсортированных последовательностей в одну имеет линейную сложность: |
Строка 17: | Строка 16: |
7<9 . 7>5 9 6>5 9 3<5 9 3<4 9 3>1 9 2>1 9 . 1 9 оставшийся хвост дописываем в конец 7 7 7 7 7 7 6 6 6 6 6 5 5 5 5 4 4 4 3 3 2 |
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 |
Строка 25: | Строка 26: |
* Пример эффективной сортировки слиянием (n*log,,2,,n) {{{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}}} * Сольём все подряд идущие 2^k^. {{{0 1 1 2 2 3 3 4 4 5 5 5 6 7 7 8}}} * k≤log,,2,,n+1 |
|
Строка 27: | Строка 38: |
1. Прочитать [[RW:Алгоритм_сортировки|про алгоритмы сортировки в Википедии]] | |
Строка 29: | Строка 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
Домашнее задание
Прочитать про алгоритмы сортировки в Википедии
- Реализовать сортировку слиянием
- Посчитать количество оборотов цикла (сравнить с обменной сортировкой)