Simulative – Telegram
7.4K subscribers
1.7K photos
70 videos
1 file
1.26K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
GROK IT!

Задача по SQL: Какая команда импортирует дамп в БД mysql?

Правильный ответ раскроем завтра 😏

#grokit
​​🔎 Алгоритм бинарного поиска

Двоичный (или бинарный) поиск (также известен как метод деления пополам или дихотомия) — классический алгоритм поиска элемента в отсортированном массиве.

Метод использует стратегию «разделяй и властвуй», а именно: заданный массив делится на две равные части и поиск осуществляется в одной из этих частей, которая потом также делится надвое. Раздвоение происходит до тех пор, пока не обнаружится наличие искомого элемента или его отсутствие.

Использовать эту операцию, уменьшая каждый раз зону поиска вдвое, позволительно лишь потому, что элементы массива заранее упорядочены. Зная размер массива, не составит труда найти средний элемент и сравнить его значение с искомым. После этого можно уверено сказать, где относительно среднего элемента находится искомый элемент.

При этом не важно, как отсортирован массив: по убыванию или по возрастанию. От этого алгоритм существенно не поменяется.

Обычно для простоты крайний левый и крайний правый элементы называют left и right соответственно. Середину массива принято называть коротко: mid.


Ход работы алгоритма, разделенный на этапы, выглядит следующим образом:

1. Поиск среднего элемента массива: mid = (left + right)/2. Значение округляется до большего или меньшего целого.

2. Средний элемент сравнивается с искомым (key), результатом этого сравнения будет один из трех случаев:

- key < mid. Зона поиска сужается до (left, mid-1), переходим к п.1;

- key > mid. Зона поиска сужается до (mid+1, right), переходим к п.1;

- key = mid. Если значения среднего и искомого элементов совпадают, то элемент найден, работа алгоритма завершается.

3. Если для проверки не осталось ни одного элемента, то алгоритм завершается, иначе выполняется переход к п.1.


Короткий пример:

У нас есть массив a = 1, 4, 9, 16, 25, 36, 49. Искомое значение key = 25.

✓ 1 шаг: mid = (6 + 0)/2 = 3 – индекс среднего элемента. Значение аmid = 16.

✓ 2 шаг: сравниваем key и mid: 25>16 -> будем искать в правой половине множества:

a = 25, 36, 49.

✓ 3 шаг: mid = (2 + 0)/2 = 1 – индекс среднего элемента. Значение аmid = 36.

✓ 4 шаг: сравниваем key и mid: 25 < 36 -> будем искать в левой половине множества:

a = 25.

✓ 5 шаг: Остается один элемент, mid = (0 + 0)/2 = 0 – индекс среднего элемента. Значение аmid = 25

✓ 6 шаг: сравниваем key и mid: 25=25 мы нашли искомый элемент и алгоритм завершается.


💥 Этот метод считается одним из самых простых и популярных в информатике и часто используется в вычислительной математике и математическом программировании.

❗️Стоит отметить, что часто для метода бинарного поиска потребуется гораздо меньше времени, чем, для линейного поиска. Однако, в отличие от линейного поиска двоичный работает только с массивами, элементы которых упорядочены, что, несомненно, придает ему отрицательной специфичности.

Сложность бинарного поиска составляет О(log(n)), а линейного поиска – О(n). Как мы уже показывали в нашей статье о сложности алгоритмов, класс сложности О(log(n)) менее сложный, чем О(n).

Статья про сложность алгоритмов и О-нотации 👉🏻 bit.ly/3ccVMRN
GROK IT!

Ответ на задачу про импортирование дамп в MySQL🔔

Ответ ищите в карточках 😉

#grokit
🔥 5 приемов оптимизации SQL-запросов

Порой для того, чтобы запрос работал быстрее и эффективнее, не нужно городить сложных конструкций, писать специальные функции и изобретать велосипед.

Достаточно просто написать ограничение на выводимый результат, поменять местами условия фильтрации или учитывать порядок таблиц в «джоине».

Ищите 5 базовых способов оптимизации SQL-запросов в карточках! 😉

Более подробно рассматриваем способы оптимизации SQL-запросов в нашей статье 👉🏻 bit.ly/39KqJeX
🔥2
​​GROK IT!

Задача по Python: Что выведет код?

Правильный ответ раскроем завтра 😏

#grokit
Какой вариант ответа верный?
Anonymous Quiz
24%
1
18%
2
11%
3
47%
4
GROK IT!

Ответ на задачу про форматирование printf-строк в Python 🔔

Ответ ищите в карточках 😉

Для полного понимания работы со строками в Python прочитайте наш гайд, а подробное описание подстановочных шаблонов в Python ищите здесь

#grokit