I
IT Notes and Insights
@IT_notes_insights6 подп.
16просмотров
26 мая 2024 г.
Score: 18
🔍 Понимание алгоритмической сложности 🔍 Всем привет! 👋 Сегодня познакомимся с алгоритмической сложностью. Понимание этой концепции важно для написания эффективного кода. К тому же, вопрос по сложности очень часто задают на собеседованиях. Что такое алгоритмическая сложность? 🤔 Алгоритмическая сложность относится к количеству вычислительных ресурсов (времени и памяти), которые требуются алгоритму для решения задачи в зависимости от размера входных данных. Это помогает нам анализировать и сравнивать эффективность различных алгоритмов. Основные концепции: 1. Временная сложность ⏱ - Измеряет количество времени, которое требуется алгоритму для завершения работы в зависимости от размера входных данных. - Общие обозначения: O(1), O(n), O(log n), O(n^2) и т.д. 2. Пространственная сложность 💾 - Измеряет количество памяти, которое использует алгоритм в зависимости от размера входных данных. - Важно для понимания требований к памяти вашего кода. Почему это важно? 🌟 - Оптимизация производительности. Помогает писать код, который работает быстрее и использует меньше ресурсов. - Масштабируемость. Обеспечивает, что ваши решения могут эффективно обрабатывать большие объемы данных. - Лучший выбор алгоритмов. Позволяет выбрать наиболее подходящий алгоритм для данной задачи. Типы алгоритмической сложности: Константная | O(1) | Доступ к элементу массива Логарифмическая | O(log n) | Бинарный поиск Линейная | O(n) | Итерация по массиву Линейно-логарифмическая | O(n log n) | Сортировка слиянием, быстрая сортировка Квадратичная | O(n^2) | Пузырьковая сортировка Кубическая | O(n^3) | Тройные вложенные циклы Экспоненциальная | O(2^n) | Задача о Ханойских башнях Факториальная | O(n!) | Генерация перестановок Полиномиальная | O(n^k) | Множественные вложенные циклы Лог-логарифмическая | O(log log n) | Дерево ван Эмде Боаса Сублинейная | O(n^c) где 0 < c < 1 | Специализированные алгоритмы поиска Суперлинейная | O(n log n) < O(f(n)) < O(n^2) | Продвинутые алгоритмы сортировки Квазилинейная | O(n log n) | Сортировка слиянием, быстрая сортировка Не стесняйтесь задавать вопросы или делиться своими мыслями в комментариях. Давайте учиться и расти вместе! 🌱 Источник изображения: https://adrianmejia.com/how-to-find-time-complexity-of-an-algorithm-code-big-o-notation/ #сложность #алгоритмы #BigO
16
просмотров
2995
символов
Да
эмодзи
Нет
медиа

Другие посты @IT_notes_insights

Все посты канала →
🔍 Понимание алгоритмической сложности 🔍 Всем привет! 👋 Се — @IT_notes_insights | PostSniper