Анализ эффективности программ на Python
- Неэффективность высокоуровневых операторов Python
- Использование итераций вместо циклов
- Списки вместо массивов — логарифмическая сложность вместо константы
Использование «настоящих» массивов из проекта NumPy
Анализ неэффективности реализации кодировщика в алгоритме преобразованиея Барроуза — Уилера:
Генератор входных данных: BurrowsWheeler_gen.py
Несколько вариантов алгоритма на Python: BurrowsWheeler.py
Алгоритм на C: BurrowsWheeler.c
Домашнее задание
Просто олимпиадные задачки.
(Письмо): Сообщение является красивым, если любая прописная буква стоит левее любой строчной. Найти наименьшее число действий, необходимое, чтобы письмо стало красивым. Длина строки не превосходит 10**5
(Задача про матанализ): Заданы две последовательности, описывающие ситуацию на третий и четвертый день подготовки. Определить, кто является чьим лучшим другом.
Условные обозначения
— тема по Linux
— необязательная тема
— теоретическое задание
— тема для самостоятельного изучения