Обложка: 123 задачи с IT-собеседований с разбором решений

123 задачи с IT-собеседований с разбором решений

Самые популярные задачи с IT-собеседований — более 100 логических задач, IT-кейсов и заданий по разработке для профессиональных программистов (с ответами!).

3
152
reaction
0
reaction
0
reaction
0
reaction
0
reaction
43
43
emoji

Конечный автомат: теория и реализация

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

3
34
reaction
0
reaction
0
reaction
0
reaction
0
reaction
18
18
emoji
Обложка: Конечный автомат: теория и реализация
Обложка: Большой сборник завораживающих визуализаций известных алгоритмов

Большой сборник завораживающих визуализаций известных алгоритмов

Возможности человеческого разума ограничены […] Наша сила — в использовании технологий, которые многократно увеличивают наши когнитивные способности — Дональд Норман Алгоритмы — это отличная область применения визуализации. Для визуализации работы алгоритма не нужны…

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji

Алгоритмы и структуры данных для начинающих: сортировка

В этой части мы посмотрим на пять основных алгоритмов сортировки данных в массиве. Начнем с самого простого — сортировки пузырьком — и закончим «быстрой сортировкой» (quicksort). Для каждого алгоритма, кроме…

2
33
reaction
0
reaction
0
reaction
0
reaction
0
reaction
2
2
emoji
Обложка: Алгоритмы и структуры данных для начинающих: сортировка

Алгоритмы и структуры данных для начинающих: множества

Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствующем разделе.…

16
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Алгоритмы и структуры данных для начинающих: множества

Алгоритмы и структуры данных для начинающих: двоичное дерево поиска

До сих пор мы рассматривали структуры данных, данные в которых располагаются линейно. В связном списке — от первого узла к единственному последнему. В динамическом массиве — в виде непрерывного блока. В этой…

29
reaction
0
reaction
0
reaction
0
reaction
0
reaction
3
3
emoji
Обложка: Алгоритмы и структуры данных для начинающих: двоичное дерево поиска

Алгоритмы и структуры данных для начинающих: стеки и очереди

В предыдущих частях мы рассматривали базовые структуры данных, которые, по сути, являлись надстройками над массивом. В этой статье мы добавим к коллекциям простые операции и посмотрим, как это повлияет на…

23
reaction
0
reaction
0
reaction
0
reaction
0
reaction
2
2
emoji
Обложка: Алгоритмы и структуры данных для начинающих: стеки и очереди

Алгоритмы и структуры данных для начинающих: динамический массив

Иногда от коллекции требуется неограниченная вместимость и простота использования списка, но при этом константное время доступа к произвольному элементу, как в массиве. В этом случае используется список на основе массива…

12
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Алгоритмы и структуры данных для начинающих: динамический массив
Обложка: В MIT разработали алгоритм, фильтрующий препятствия на фотографиях

В MIT разработали алгоритм, фильтрующий препятствия на фотографиях

Ученые Массачусетского технологического университета на днях изобрели алгоритм, способный убирать препятствия (вроде заборов и окон) с фотографий. На вход он принимает некоторое количество фотографий, снятых с небольшим смещением относительно друг…

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Алгоритмы и структуры данных для начинающих: связный список

Алгоритмы и структуры данных для начинающих: связный список

Первая структура данных, которую мы рассмотрим — связный список. На то есть две причины: первое — связный список используется практически везде — от ОС до игр, и второе — на…

3
21
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Алгоритмы и структуры данных для начинающих: сложность алгоритмов

Алгоритмы и структуры данных для начинающих: сложность алгоритмов

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

48
reaction
0
reaction
0
reaction
1
reaction
0
reaction
6
7
emoji
emoji

Доказательство того, что 40-летний алгоритм является оптимальным, будет облегчением для специалистов по вычислительным системам

Пишет Ларри Хардести | Новостное бюро MIT   Сравнение геномов различных видов или различных представителей одного вида — основа большей части современной биологии. Последовательности ДНК, встречающиеся у разных видов, могут…

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Алгоритмы интеллектуального анализа данных

Алгоритмы интеллектуального анализа данных

Рассказывает Рэй Ли, автор блога raily.net Сегодня я постараюсь простым языком объяснить 10 самых важных алгоритмов интеллектуального анализа данных, по результатам  опросов трех разных групп экспертов в этом исследовании. После того,…

2
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji

Как эффективно подготовиться к олимпиадам по программированию?

Скоро стартует вторая олимпиада Типичного программиста, и мы решили спросить у экспертов, как можно успешно к подготовится к подобным соревнованиям.

4
reaction
0
reaction
0
reaction
0
reaction
0
reaction
2
2
emoji
Обложка: Как эффективно подготовиться к олимпиадам по программированию?

Какие алгоритмы должен знать уважающий себя программист?

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

21
reaction
0
reaction
0
reaction
0
reaction
0
reaction
2
2
emoji
Обложка: Какие алгоритмы должен знать уважающий себя программист?

Опишите алгоритм для нахождения миллиона наименьших чисел в наборе из миллиарда чисел. Память компьютера позволяет хранить весь миллиард чисел

Существует много способов решить эту задачу. Мы остановимся только на трех — сортировка, минимум кучи и ранжирование. Решение 1. Сортировка Можно отсортировать элементы в порядке возрастания, а затем взять первый…

1
1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji
Обложка: Опишите алгоритм для нахождения миллиона наименьших чисел в наборе из миллиарда чисел. Память компьютера позволяет хранить весь миллиард чисел

Подборка полезных алгоритмов для собеседований: задачи на строки

Мы сделали большую подборку алгоритмов работы со строками, которые помогут вам подготовиться к собеседованиям. Решайте наши новые задачи на строки

5
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji

Не-жадный алгоритм

В настоящее время существуют методы справедливого совместного использования ресурсов, на основе системы распределения. Наиболее известным является метод деления торта «Ты отрезаешь, я выбираю». Есть также алгоритмы, которые позволяют разделить торт…

1
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji

Алгоритм поиска элемента в отсортированной матрице размером MxN

Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы. Чтобы найти нужный элемент, можно воспользоваться бинарным поиском по каждой строке. Алгоритм потребует O(M log(N)) времени, так как необходимо…

6
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: Алгоритм поиска элемента в отсортированной матрице размером MxN

Алгоритм, определяющий, все ли символы в строке встречаются один раз

При выполнении этого задания нельзя использовать дополнительные структуры данных. Один из очевидных вариантов решения состоит в том, чтобы сравнить каждый символ строки с любым другим символом строки. Это потребует О(n²)…

3
reaction
0
reaction
0
reaction
0
reaction
0
reaction
1
1
emoji
Обложка: STL: стандартная библиотека шаблонов С++

STL: стандартная библиотека шаблонов С++

Механизм шаблонов встроен в компилятор C++, чтобы дать возможность программистам делать свой код короче за счет обобщенного программирования. Естественно, существуют и стандартные библиотеки, реализующие этот механизм. STL является самой эффективной…

6
reaction
0
reaction
0
reaction
0
reaction
0
reaction
0
Оценить
emoji