Публикации по теме 'big-o-notation'


Введение в нотацию Big O (в JavaScript)
Если двум идентично написанным функциям передаются два разных массива, один из которых содержит один элемент, а другой - три тысячи элементов, выполнение какой функции займет больше времени? На сколько? Учтите следующее: let array1 = [1]; let array2 = [1, 2, <--digits here-->, 3000]; function alertFirstElement(array){ alert(array[0]); } alertFirstElement(array1); alertFirstElement(array2); Как мы можем классифицировать количество времени, необходимое для завершения работы..

Это палиндром? Перевод между Ruby и JavaScript
На прошлой неделе друг представил мне эту задачу из Project Euler, и мы рассмотрели ее базовое решение. «Палиндромное число одинаково читается в обоих случаях. Самый большой палиндром, составленный из произведения двух двузначных чисел, равен 9009 = 91 × 99. Найдите самый большой палиндром, составленный из произведения двух трехзначных чисел». Мы начали с осознания того, что нам потребуются два отдельных метода: один для перебора возможных произведений двух трехзначных чисел,..

Обозначение большого O
Постоянное, линейное или квадратичное время? Я закончил школу Flatiron Software Engineering Immersive! Прошло примерно 3 недели с тех пор, как я закончила. Хотя я в настоящее время ищу работу в области разработки программного обеспечения, в этом процессе «собеседования» не хватало некоторых элементов — алгоритмов и структур данных. По мере того, как я продолжаю свой путь программиста, я все больше и больше вижу на разных ресурсах значение нотации Big O и то, что каждый программист..

Упрощение нотации Big-O
Есть много способов решить данную проблему с помощью компьютерной программы. Возьмем, к примеру, сортировку элементов в массиве, есть несколько способов сделать это. Среди распространенных примеров - сортировка слиянием, пузырьковая сортировка, сортировка вставкой, сортировка по выбору и многие другие. У всех этих алгоритмов есть свои плюсы и минусы. Тогда перед нами встанет вопрос: какой алгоритм реализовать для решения конкретной проблемы, когда существует несколько решений указанной..

Сложность времени
«Время — вор памяти». - Стивен Кинг. У каждого есть время на их стороне, так что давайте погрузимся в царство временной сложности. Для начала давайте кратко определим временную сложность как: «количество времени, в течение которого алгоритм работает как функция, по отношению к размеру входных данных». Теперь вам может быть интересно, что такое алгоритм. Вот простой пример алгоритма, с которым вы, возможно, знакомы: Функция BakeCupcake (вкус, глазурь) { 1. Разогрейте духовку до..

Big O для начинающих
Нотация Big O позволяет нам измерять временную и пространственную сложность нашего кода. Подумайте о примере цикла for. Вы можете запустить его над массивом из 5 элементов, и он будет работать довольно быстро, но если вы запустите его над массивом из 10 000 элементов, время выполнения будет намного медленнее. См. Пример: Обозначение Big O позволяет нам определить, сколько времени потребуется для выполнения алгоритма. Это позволяет нам понять, как будет масштабироваться фрагмент..

Задача № 5: оптимизировать алгоритм
Когда вы впервые учитесь программировать, самое важное - добиться от вашего решения желаемых результатов. Можете ли вы взять веревку и перевернуть ее? Можете ли вы найти элемент в массиве? Можете ли вы распечатать список вещей на консоли? После того, как вы разберетесь с основами, нужно подумать еще о чем: сколько времени требуется для запуска вашего кода. Это важно при увеличении масштабов ваших проектов - в идеале вы хотите как можно быстрее возвращать информацию пользователям..