Blog Posts

O-синтаксис или как оценить сложность алгоритма

Как оценить скорость и сложность  алгоритма? Принято брать за основную метрику оценки зависимость между необходимым количеством шагов алгоритма до достижения результата и размером данных, над которым этот алгоритм работает. Рассмотрим на простом примере. Сравним алгоритмы линейного и двоичного поиска. Пусть размер массива равен 100. Тогда нетрудно догадаться, что для поиска элемента линейным алгоритмом понадобится 50 шагов в худшем случае. При работе же двоичного поиска максимальное количество шагов будет равно 7. Пусть теперь размер массива 10 000. Линейный поиск справится за 5000

Продолжение

Зачем ставить перед собой цели?

зачем ставить цель

Сейчас есть мода (и я двумя руками за нее) на целеполагание. То и дело в информационном шуме можно услышать фразы типа “Как правильно ставить цели?”, “Человек без цели как корабль без причала”, “Поставь цель и измени свою жизнь”, “Цель должна быть составлена по SMART” и огромное количество подобных заголовков, курсов и тому подобных вещей. Постановка цели – это навык, которому нужно учиться и люди естественным образом находятся в поиске ответа на вопрос “КАК”, ведь “КАК” это инструмент, с помощью которого

Продолжение

Пишем простое приложение с помощью API Flickr

Сегодня напишем простое приложение для ios на Swift. Рассмотрим некоторые базовые вещи этого языка и возможности среды разработки xcode. Использовать будем API от flickr.com. Идея приложения в следующем: пользователь вводит с клавиатуры слово, и получает картинку с сайта фликра, которое соответствует этому слову. Понятно, что сейчас ничего не понятно, но к концу статьи мы получим реально работающее приложение. И так, начнем. Для  начала откроем среду разработки Xcode и создадим простой проект. Создаем проект Single View App. Это означает в нашем

Продолжение

Линейный и двоичный поиски в упорядоченном массиве

Массив одна из самых популярных структур данных и в тоже время, самых старых. С их помощью можно решать многие задачи связанный с хранением, поиском, удалением и добавлением данных. В Java массив представляет собой ссылку на область память, где хранятся данные массива. [crayon-5f29400a280e6104754179/] Упорядоченный массив, представляет собой массив, в котором его элементы расположены в упорядоченном виде (по возрастанию/убыванию). Такие массивы используются в тех случаях, если при работе с ним, количество операций поиска элемента массива много больше операций вставок и удаления. Далее

Продолжение