Добро пожаловать на канал "Python Map | Обучение"!
Здесь вы найдёте множество полезных материалов по Python, IT юмор, статьи, книги - всё, что пожелаете!
Рубрики:
– #практика: практичные и полезные статьи 👨💻;
– #теория: теоретические материалы 💼;
- #ЕГЭ
– #юмор: шутки и мемы про IT 🔥;
– #книги: полезные книги по Python 📚;
– #статьи: ссылки на полезные статьи 🔗;
– #типы_данных: материал по различным типам данных 🗄;
– #библиотеки: статьи про различные библиотеки и пакеты 📦;
– #алгоритмы: описания различных алгоритмов и паттернов программирования 🔢;
Приятного чтения!
Здесь вы найдёте множество полезных материалов по Python, IT юмор, статьи, книги - всё, что пожелаете!
Рубрики:
– #практика: практичные и полезные статьи 👨💻;
– #теория: теоретические материалы 💼;
- #ЕГЭ
– #юмор: шутки и мемы про IT 🔥;
– #книги: полезные книги по Python 📚;
– #статьи: ссылки на полезные статьи 🔗;
– #типы_данных: материал по различным типам данных 🗄;
– #библиотеки: статьи про различные библиотеки и пакеты 📦;
– #алгоритмы: описания различных алгоритмов и паттернов программирования 🔢;
Приятного чтения!
💯4
Сортировка пузырьком
Самый простой и известный способ сортировки элементов массива. Вместе с этим это самый неэффективный алгоритм, на выполнение которого уходит много времени.
Временная сложность = O(n²).
В наихудшем случае внутренний цикл работает не менее n раз. Поэтому операция займет не менее n² времени.
Пространственная сложность = O(1).
Дополнительная память не используется, потому что происходит обмен элементов в исходном массиве
#алгоритмы
Самый простой и известный способ сортировки элементов массива. Вместе с этим это самый неэффективный алгоритм, на выполнение которого уходит много времени.
Временная сложность = O(n²).
В наихудшем случае внутренний цикл работает не менее n раз. Поэтому операция займет не менее n² времени.
Пространственная сложность = O(1).
Дополнительная память не используется, потому что происходит обмен элементов в исходном массиве
#алгоритмы
Алгоритм Евклида
Алгоритм Евклида — это эффективный алгоритм для нахождения наибольшего общего делителя двух целых чисел путем последовательных вычитаний одного числа из другого. Метод состоит в том, чтобы последовательно вычитать меньшее число из большего до тех пор, пока они не станут равны друг другу. Этот метод основан на том факте, что НОД(a, b) = НОД(b, a-b) для любых натуральных чисел a и b.
Записанный в таком виде алгоритм неэффективен, так как многократно использует вычитания. Чтобы оптимизировать алгоритм необходимо заменить операцию вычитания на взятие остатка.
#алгоритмы
Алгоритм Евклида — это эффективный алгоритм для нахождения наибольшего общего делителя двух целых чисел путем последовательных вычитаний одного числа из другого. Метод состоит в том, чтобы последовательно вычитать меньшее число из большего до тех пор, пока они не станут равны друг другу. Этот метод основан на том факте, что НОД(a, b) = НОД(b, a-b) для любых натуральных чисел a и b.
Пример:
Найти НОД для a = 24 и b = 18
24 - 18 = 6
a = 6 и b = 18
18 - 6 = 12
a = 6 и b = 12
12 - 6 = 6
a = 6 и b = 6
Ответ: 6
Записанный в таком виде алгоритм неэффективен, так как многократно использует вычитания. Чтобы оптимизировать алгоритм необходимо заменить операцию вычитания на взятие остатка.
#алгоритмы
Быстрая сортировка
Быстрая сортировка (quicksort) — это один из наиболее эффективных и широко применяемых алгоритмов сортировки. Она основана на использовании стратегии "разделяй и властвуй".
Временная сложность = O(n log n)
В наихудшем случае время работы может быть O(n²)
#алгоритмы | @PyMapChannel
Быстрая сортировка (quicksort) — это один из наиболее эффективных и широко применяемых алгоритмов сортировки. Она основана на использовании стратегии "разделяй и властвуй".
Шаги алгоритма:
1. Выбирается опорный элемент из массива (обычно это средний элемент)
2. Оставшиеся элементы массива разделяются на две части: элементы меньше опорного и элементы больше опорного
3. Рекурсивно применяется алгоритм к каждой из подгрупп
4. Элементы объединяются таким образом, чтобы получить отсортированный массив
Временная сложность = O(n log n)
В наихудшем случае время работы может быть O(n²)
#алгоритмы | @PyMapChannel
👍1