Public
Edited
Jul 6, 2022
ЕГЭ по Информатике. Вариант №01092023, 2023г. Составил Евгений Джобс.ЕГЭ по Информатике. Вариант №16012023, 2023г. Составил Марат Ишимов.Оптимизация перебораDynamic Programming NotesAutomatic Recursive MemoizationProblem with recursion and memoizationОрграф для задачи №13 ЕГЭ по информатике.Dependencies in a dynamic-programming problemГраф для задачи №1 ЕГЭ по информатике.ЕГЭ по Информатике. Демоверсия ФИПИ 2023. Исходный код на JavaScript.Sorting AlgorithmsMerge Sort
Как работает сортировка слиянием
Решаем задачу коммивояжёра простым переборомЗадача № 13 из демоверсии ЕГЭ 2022Tower of HanoiЗадача про охрану периметраЕГЭ по Информатике. Задача №25. Обработка целочисленных данных. Поиск делителей. №3160 с сайта К.Ю. Полякова.Rabbit in the HoleПробный вариант ЕГЭ от /dev/infНекрыловские вариантыGraphs: breadth-first searchEfficient Graph SearchTowers of HanoiЕГЭ по Информатике Пробный вариант от /dev/infЕГЭ по Информатике. Задача №24. Обработка символьной информации. Демоверсия ФИПИ 2022.ЕГЭ по Информатике. Задача №3. Базы данных. Демоверсия ФИПИ 2022.ЕГЭ по Информатике. Задача №9. Обработка чисел в электронных таблицах. №4709 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №9. Обработка чисел в электронных таблицах. №4346 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №9. Обработка чисел в электронных таблицах. №4338 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №9. Обработка чисел в электронных таблицах. №4342 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №9. Обработка чисел в электронных таблицах. №4337 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №9. Обработка чисел в электронных таблицах. Демоверсия ФИПИ 2022.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №377 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №3835 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №2986 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №2238 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №4027 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №1069 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. №3480 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №15. Истинность логического выражения. Демоверсия ФИПИ 2022.ЕГЭ по Информатике. Задача №24. Обработка символьной информации. Демоверсия ФИПИ 2022.ЕГЭ по Информатике. Задача №23. Динамическое программирование. Демоверсия ФИПИ 2022.Рекурсия. Задача Фибоначчи о кроликах.ЕГЭ по Информатике. Задача №16. Рекурсивные алгоритмы. Демоверсия ФИПИ 2022.Canvas to GIF для исполнителя «Редактор» из ЕГЭ по ИнформатикеЕГЭ по Информатике. Задача №2. Таблицы истинности логических выражений. №1627 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №4. Двоичное кодирование, условие Фано. №1670 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №2. Таблицы истинности логических выражений. №1613 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №4. Двоичное кодирование, условие Фано. №119 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». Демоверсия ФИПИ 2022.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». №4163 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». №3463 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». №3838 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». №4632 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». №3424 с сайта К.Ю. Полякова.ЕГЭ по Информатике. Задача №12. Исполнитель «Редактор». №4491 с сайта К.Ю. Полякова.
Insert cell
Insert cell
// слияние массивов с одновременной сортировкой
// на вход подаются уже отсортированные левая и правая части
function merge(left, right) {
// сюда будем складывать результат
const arr = [];
// пока в каждой части есть хотя бы один элемент — выполняем цикл
while (left.length && right.length) {
// смотрим на наименьший элемент из тех, что стоят в начале обоих массивов
if (left[0] < right[0]) {
// если слева был элемент меньше —
// забираем его оттуда и отправляем в массив с результатом
arr.push(left.shift());
} else {
// в противном случае забираем элемент из правой части
arr.push(right.shift());
}
}
// выводим результат слияния отсортированных массивов
//console.log("Результат: " + arr);

// возвращаем отсортированный массив и добавляем к нему в конец отсортированный остаток от какой-либо части, если её так и не обработали в цикле
return [...arr, ...left, ...right];
}
Insert cell
// делим массивы пополам до тех пор, пока в них не останется элементов
function mergeSort(array) {
// находим середину
const half = array.length / 2;

// если в нашем массиве и так меньше двух элементов — возвращаем его
if (array.length < 2) {
return array;
}

// делим массив на две части и левую отправляем в новый массив
const left = array.splice(0, half);
// выводим промежуточный результат
//console.log("Слева:" + left);
//console.log("Справа:" + array);
// запускаем рекурсию и отдаём ей правую и левую части массива
return merge(mergeSort(left), mergeSort(array));
}
Insert cell
Insert cell
array = [3, 5, 1, 6, 9, 8, 2]
Insert cell
Insert cell
mergeSort(array)
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more