Публикации по теме 'time-complexity'


Большое О в программировании

Выполнение программы требует времени и памяти и зависит от скорости обработки компьютера, на котором выполняется программа. Выполнение фрагмента кода на моем компьютере может занять 1 секунду, в то время как тот же код может занять больше или меньше времени на другом компьютере в зависимости от его вычислительной мощности. Это означает, что мы не можем измерить производительность кода на основе времени выполнения, и она не должна зависеть от ресурсов компьютера. Хороший код имеет два..

Строковые алгоритмы

Краткий обзор 5 строковых алгоритмов: наивный алгоритм Кнута-Морриса-Пратта, алгоритм Бойера-Мура, строковый хэш, суффикс-три. TL;DR; Шпаргалка по алгоритмам приведена в конце статьи. Что первое приходит вам на ум, когда вы слышите слово алгоритмы ? Двоичный поиск, «разделяй и властвуй», алгоритмы DFS, я полагаю. А как насчет строковых алгоритмов? Давайте поговорим о самых известных алгоритмах String в этой статье. Что такое алгоритмы String? Алгоритмы,..

Ладно, двигайся дальше

Ладно, двигайся дальше Шаблон/техника скользящего окна фиксированного размера Шаблон скользящего окна фиксированного размера оптимизирует алгоритмы, включающие поиск в массиве или строке последовательного подраздела заданного размера, удовлетворяющего заданному условию. Его также можно рассматривать как разновидность паттерна двух указателей . Чтобы решить подобные проблемы, мы могли бы применить решение грубой силы с вложенным циклом, но в лучшем случае это дало бы временную..

Деревья двоичного поиска

Кто они такие? И когда они пригодятся. На этой неделе я выделил время для изучения и более глубокого понимания определенной структуры данных, которой нас не учили на учебных курсах, но которая часто возникает в вопросах практики собеседования: бинарные деревья или, более конкретно, бинарные деревья поиска. Для меня это была совершенно новая структура данных, хотя она была реализована с использованием базовых методов класса, а также функций, похожих на массивы или списки, - общие знания,..

Подчеркивание, Lodash и диалектика Javascript.

Несколько недель назад я наткнулся на эту статью Дерика Бейли. Это стоит прочитать; по сути, он подробно обсуждает, делают ли более новые спецификации Javascript (такие как ES6) служебные библиотеки, такие как Lodash или Underscore, устаревшими, за счет включения ключевых функций этих библиотек. Он в значительной степени отвергает эту гипотезу, но попутно делает несколько ключевых наблюдений. Его статья — почти трактат на эту тему, и он даже зашел так далеко, что провел опрос в..

Временная сложность — I

Это первая статья из серии статей, в которых я буду освещать важные аспекты структур данных и алгоритмов. В этой статье мы поговорим о временной сложности. Условие: вложенные циклы, операторы if-else. Основная терминология: Структуры данных . Структуры данных описывают способ хранения данных в памяти компьютера, чтобы их можно было эффективно использовать. Эта эффективность может заключаться в хранении данных, работе с данными или извлечении данных. В зависимости от нашего..

Codility — FrogJmp

Подсчитайте минимальное количество прыжков из позиции X в Y FrogJmp — третий урок под номером 1 из трех в списке для алгоритма Time Complexity. По сути, это алгоритм для подсчета количества прыжков из одной точки X в точку Y, когда номер сделанного шага задается как Z для каждого отдельного прыжка. public int solution(int X, int Y, int D){ int a = 0; Y = Y — X; //установка начального значения теста if (Y ›= 1){ //оценка значения Y a = Y/D; //установка начального возвращаемого..