Суббота, 18.05.2024, 11:58Приветствую Вас Гость | RSS
IT Solutions
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 407
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Каталог статей


Главная » Статьи » Мои статьи

Кодирование с учётом роста данных
Многие из тех, кто хотят, чтобы их программа выполнялась без задержек, начинают заниматься тем, что изначально не имеет смысла.

Вообще, когда становится необходима оптимизация ( если она всё таки действительно необходима),следует снижать О-сложность алгоритма, а не заниматься микрооптимизациями типа экономии на одном сложении.
Так же учтём что рост данных почти непредсказуем, неограничен и может просто положить вашу программу на лопатки.

1. Гибкие динамически распределяемые данные лучше, чем массивы фиксированного размера.
  • Массив больший, чем наибольший массив, который мне когда-либо потребуется, приводит к ошибкам.
  • Массивы можно использовать только когда размеры данных фиксированы и известные во время компиляции.
2. Сложность используемого алгоритма должна быть точно известна.
  •   Линейный алгоритм, вызывающий другую линейную операцию, делает алгоритм квадратичным.
3. По возможности использовать линейные и более быстрые алгоритмы.
  • Идеальные алгоритмы с константной сложностью, такие как push_back или поиск в хэш-таблице
  • Неплохи алгоритмы со сложностью О(log N), такие как операции с контейнерами set/map и lower_lound или upper_lound с итераторами произвольного доступа.
  • Допустима линейная сложность O(N), как, например, у vector::insert или for_each.
4. Избегать применения алгоритмов с более чем линейной сложностью где это возможно.
  • Следует заменить алгоритм со сложностью O(N*log N) или O(N^2) (если возможно) чтобы избежать непропорционального падения производительности при существенном росте объёма данных.
5. Никогда не используйте экспоненциальные алгоритмы, потому что почти всегда должен быть способ лучше!
Категория: Мои статьи | Добавил: B@R_LOG (18.11.2013)
Просмотров: 801 | Теги: сложность алгоритмов, оптимизация, рост данных, программирование с учётом роста объ | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Категории раздела
Мои статьи [11]
Поиск
Друзья сайта
  • МЫ в "ВКонтакте"
  • Система Orphus