Публикации по теме '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; //установка начального возвращаемого..