Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 April 12

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
Дан отсортированный по возрастанию массив чисел длинной N. Массив в произвольном месте делят на 2 части и хвост передвигают в начало, получившийся массив подается на вход программы. Реализовать алгоритм поиска элемента в массиве за O(logN).
пример:
arr=[7, 8, 10, 13, 1, 2, 4, 5] val=2
вывод:
pos=5
ну и написать тесты и бенчмарки
это разминочная типа задачка
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
Еще задачка - написать функцию поиска самой длинной подстроки, состоящей не более чем из 2х различных символов за O(N). Написать тесты и бенчмарк подтверждающий сложность O(N)
пример:
'ababcbaba'
'abab'
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от Merch
А что за бенчмарки?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
ну тесты которые показывают что время работы алгоритма в среднем будет зависеть от длинны входного массива по требуемому закону
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Переслано от mr.slavik
вот например выход моего для задачи с поиском подстроки, отсюда видно, что при увеличении длинны строки - время работы алгоритма на один символ остается постоянным примерно, пробы - различные рандомные строки фиксированной длинны.
Например Вы на аутсорс поставили фрилансеру задачу написать какую то функцию математическую и понятия не имеете как она внутри работает, но должны убедиться что сложность асимптотическая соответствует требуемой. Значит нужно накидать в эту функцию все возможные варианты рандомные и замерить время работы
источник

НП

Нехристь Пендостанский in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
Переслано от mr.slavik
Дан отсортированный по возрастанию массив чисел длинной N. Массив в произвольном месте делят на 2 части и хвост передвигают в начало, получившийся массив подается на вход программы. Реализовать алгоритм поиска элемента в массиве за O(logN).
пример:
arr=[7, 8, 10, 13, 1, 2, 4, 5] val=2
вывод:
pos=5
ну и написать тесты и бенчмарки
это разминочная типа задачка
O(logN) что такое?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
это значит что если длину строки удваивать - время будет меняться линейно
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

НП

Нехристь Пендостанский in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
Переслано от mr.slavik
Дан отсортированный по возрастанию массив чисел длинной N. Массив в произвольном месте делят на 2 части и хвост передвигают в начало, получившийся массив подается на вход программы. Реализовать алгоритм поиска элемента в массиве за O(logN).
пример:
arr=[7, 8, 10, 13, 1, 2, 4, 5] val=2
вывод:
pos=5
ну и написать тесты и бенчмарки
это разминочная типа задачка
val это индекс по которому его делят на две части?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Нехристь Пендостанский
val это индекс по которому его делят на две части?
это значение одного из элементов массива позицию которого над найти
источник

НП

Нехристь Пендостанский in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
mr.slavik
это значение одного из элементов массива позицию которого над найти
Тогда место среза определяет рандом?
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Нехристь Пендостанский
Тогда место среза определяет рандом?
да
источник

НП

Нехристь Пендостанский in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Выглядит просто
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ты не знаешь в каком месте разрезали
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
но знаешь что было отсортировано
перед тем как разрезали
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Нехристь Пендостанский
Выглядит просто
ну тут интерес скорее в бенчмарке)
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Нехристь Пендостанский
Я прошел все лабораторные. Куда дальше?
с роботом, или там графика-пушка тоже?
источник

НП

Нехристь Пендостанский in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Oleg Makarikhin
с роботом, или там графика-пушка тоже?
все 10
источник

m

mr.slavik in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
ну есть еще задача
источник